AT_abc192_c [ABC192C] Kaprekar Number
Description
[problemUrl]: https://atcoder.jp/contests/abc192/tasks/abc192_c
$ 0 $ 以上の整数 $ x $ に対して、$ g_1(x),\ g_2(x),\ f(x) $ を次のように定めます。
- $ g_1(x)= $ $ x $ を十進法で表したときの各桁の数字を大きい順に並び替えてできる整数
- $ g_2(x)= $ $ x $ を十進法で表したときの各桁の数字を小さい順に並び替えてできる整数
- $ f(x)=g_1(x)-g_2(x) $
例えば $ g_1(314)=431 $, $ g_2(3021)=123 $, $ f(271)=721-127=594 $ です。先頭の余分な $ 0 $ は無視されることに注意してください。
整数 $ N,K $ が与えられるので、$ a_0=N $, $ a_{i+1}=f(a_i)\ (i\geq\ 0) $ で定まる数列の $ a_K $ を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ K $
Output Format
$ a_K $ を出力せよ。
Explanation/Hint
### 制約
- $ 0\ \leq\ N\ \leq\ 10^9 $
- $ 0\ \leq\ K\ \leq\ 10^5 $
- 入力は全て整数
### Sample Explanation 1
\- $ a_0=314 $ - $ a_1=f(314)=431-134=297 $ - $ a_2=f(297)=972-279=693 $ です。
### Sample Explanation 2
\- $ a_0=1000000000 $ - $ a_1=f(1000000000)=1000000000-1=999999999 $ - $ a_2=f(999999999)=999999999-999999999=0 $ - $ a_3=f(0)=0-0=0 $ - $ \vdots $ となります。