配点 : 300 点
問題文
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 です。先頭の余分な 0 は無視されることに注意してください。
整数 N,K が与えられるので、a0=N, ai+1=f(ai) (i≥0) で定まる数列の aK を求めてください。
制約
- 0≤N≤109
- 0≤K≤105
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
N K
出力
aK を出力せよ。
314 2
693
- a0=314
- a1=f(314)=431−134=297
- a2=f(297)=972−279=693
です。
1000000000 100
0
- a0=1000000000
- a1=f(1000000000)=1000000000−1=999999999
- a2=f(999999999)=999999999−999999999=0
- a3=f(0)=0−0=0
- ⋮
となります。
6174 100000
6174