## Algorithm

A. Reachable Numbers
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Let's denote a function f(x)�(�) in such a way: we add 11 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)=6599+1=600606599+1=600→60→6;
• f(7)=8�(7)=87+1=87+1=8;
• f(9)=1�(9)=19+1=1019+1=10→1;
• f(10099)=101�(10099)=10110099+1=10100101010110099+1=10100→1010→101.

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, 102102 is reachable from 1009810098 because f(f(f(10098)))=f(f(10099))=f(101)=102�(�(�(10098)))=�(�(10099))=�(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

The first line contains one integer n (1n1091≤�≤109).

Output

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

Examples
input
Copy
1098

output
Copy
20

input
Copy
10

output
Copy
19

Note

The numbers that are reachable from 10981098 are:

1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,1098,10991,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,1098,1099.

## Code Examples

### #1 Code Example with C++ Programming

Code - C++ Programming

#include <bits/stdc++.h>

using namespace std;

int n;
set<int> st;

int main() {
scanf("%d", &n);

int res = 0;
while(st.count(n) != 1) {
st.insert(n);
n += 1;
while(n % 10 == 0)
n /= 10;
}

printf("%d\n", int(st.size()));

return 0;
}
Copy The Code &

Input

cmd
1098

Output

cmd
20