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 = 600 → 60 → 6; 
  * f(7) = 8: 7 + 1 = 8; 
  * f(9) = 1: 9 + 1 = 10 → 1; 
  * f(10099) = 101: 10099 + 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, 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

The first line contains one integer n (1 ≤ n ≤ 10^9).

Output

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

Examples

Input


1098


Output


20


Input


10


Output


19

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.
#include <bits/stdc++.h>
using namespace std;
void mego() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
}
long long gcd(long long a, long long b) {
  if (a == 0) return b;
  return (a, a % b);
}
bool ACplease(string s, string ers) {
  while (s.size() > 0) {
    long long i = s.find(ers);
    if (i == -1) break;
    s.erase(i, ers.size());
  }
  return (s.size() == 0);
}
char opp(char x) {
  if (x >= 'a' && x <= 'z')
    x += ('A' - 'a');
  else
    x += ('a' - 'A');
  return x;
}
long long countonesinbinary(long long n) {
  long long c = 0;
  while (n) {
    n = (n & n - 1);
    c++;
  }
  return c;
}
unsigned long long inf = 1e19;
const long long mod = 1e9 + 7;
long long power(long long base, long long expo) {
  long long answmod = 1;
  base %= mod;
  while (expo > 0) {
    if (expo & 1) answmod = (answmod * base) % mod;
    expo >>= 1;
    base = (base * base) % mod;
  }
  return answmod;
}
void file() {
  freopen("palindrome.in", "r", stdin);
  freopen("palindrome.out", "w", stdout);
}
int main() {
  mego();
  long long ma = INT_MAX;
  long long t, n, k, bad = 1, a, as = 0, ds = 0, b = 0, c = 0;
  map<long long, long long> mama;
  set<int> st;
  vector<long long> v, v1, even, odd;
  string s = "abacaba", s1 = "aabcaba";
  cin >> n;
  for (int i = 0; i < 100000; i++) {
    st.insert(n);
    n++;
    while (n % 10 == 0) n /= 10;
  }
  cout << st.size();
  return 0;
}
