问题描述
对于一个不小于 0 的整数 x,我们定义 g1(x),g2(x),f(x) 如下:
- g1(x)= 将 x 的十进制表示中的数字按降序重新排列得到的整数
- g2(x)= 将 x 的十进制表示中的数字按升序重新排列得到的整数
- f(x)=g1(x)−g2(x)
例如,我们有 g1(314)=431,g2(3021)=123,f(271)=721−127=594。注意,开头的零将被忽略。
给定整数 N,K,在由 a0=N,ai+1=f(ai)(igeq0) 定义的序列中找到第 K 个数 aK。
约束条件
- 0leqNleq109
- 0leqKleq105
- 输入中的所有值都是整数。
输入
从标准输入读入数据,输入格式如下:
N K
输出
输出 aK。
示例输入 1
314 2
示例输出 1
693
我们有:
- a0=314
- a1=f(314)=431−134=297
- a2=f(297)=972−279=693
示例输入 2
1000000000 100
示例输出 2
0
我们有:
- a0=1000000000
- a1=f(1000000000)=1000000000−1=999999999
- a2=f(999999999)=999999999−999999999=0
- a3=f(0)=0−0=0
- vdots
示例输入 3
6174 100000
示例输出 3
6174