← Home
write a go solution for Description:
Let's denote a function f(x) in such a way: we add 1 to x, then, while there is at least one trailing zero in the resulting number, we remove that zero. For example,

- f(599)=6: 599+1=600arrow60arrow6;
- f(7)=8: 7+1=8;
- f(9)=1: 9+1=10arrow1;
- f(10099)=101: 10099+1=10100arrow1010arrow101.

We say that some number y is reachable from x if we can apply function f to x some (possibly zero) times so that we get y as a result. For example, 102 is reachable from 10098 because f(f(f(10098)))=f(f(10099))=f(101)=102; and any number is reachable from itself.

You are given a number n; your task is to count how many different numbers are reachable from n.

Input Format:
The first line contains one integer n (1<=n<=10^9).

Output Format:
Print one integer: the number of different numbers that are reachable from n.

Note:
The numbers that are reachable from 1098 are:

1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,1098,1099.. Output only the code with no comments, explanation, or additional text.