#D0798. 连环碰撞

连环碰撞

题目描述

小 B 最近在玩一个叫“连环碰撞”的数字游戏。

一开始,小 B 手里有一个正整数 nn。只要 nn 还不是一位数,他就会进行一次操作:

  1. 设 aa 为 nn 的最高位数字;
  2. 设 bb 为去掉最高位后,剩余低位数字组成的数;
  3. 将 nn 变成 ∣b−a∣|b-a|。

这里 ∣b−a∣|b-a| 表示 b−ab-a 的绝对值。例如 n=407n=407 时,最高位数字是 44,剩余低位组成的数是 77,下一步会变成 ∣7−4∣=3|7-4|=3。

请输出最终得到的一位数。

输入格式

输入一行,一个正整数 nn。

输出格式

输出一个整数,表示最终得到的一位数。

样例

123
0
1000
1
407
3

样例解释

样例 1 中,123 的最高位是 11,剩余低位组成的数是 2323,变成 ∣23−1∣=22|23-1|=22;22 的最高位是 22,剩余低位组成的数是 22,变成 ∣2−2∣=0|2-2|=0。

样例 2 中,1000 的最高位是 11,剩余低位组成的数是 00,变成 ∣0−1∣=1|0-1|=1。

样例 3 中,407 的最高位是 44,剩余低位组成的数是 77,变成 ∣7−4∣=3|7-4|=3。

数据范围与约定

子任务 分值 限制
11 3030 10≤n≤9910 \le n \le 99
22 10≤n≤10910 \le n \le 10^9
33 4040 无特殊限制

对于 100%100\% 的数据,保证 10≤n≤101810 \le n \le 10^{18}。