#include <iostream>
int main(int argc, char const *argv[]) {
  long long N, ans=0;
  std::cin >> N;
  bool flag = 1;
  while(N > 9){
    if(N%10!=9) flag = 0;
    N/=10, ans+=9;
  }
  std::cout << (flag ? ans + N :ans+(N - 1));
}

### Prompt

Please formulate a cpp solution to the following problem:

Find the maximum possible sum of the digits (in base 10) of a positive integer not greater than N.

Constraints

* 1\leq N \leq 10^{16}
* N is an integer.

Input

Input is given from Standard Input in the following format:


N


Output

Print the maximum possible sum of the digits (in base 10) of a positive integer not greater than N.

Examples

Input

100


Output

18


Input

9995


Output

35


Input

3141592653589793


Output

137

### Response

```cpp
#include <iostream>
int main(int argc, char const *argv[]) {
  long long N, ans=0;
  std::cin >> N;
  bool flag = 1;
  while(N > 9){
    if(N%10!=9) flag = 0;
    N/=10, ans+=9;
  }
  std::cout << (flag ? ans + N :ans+(N - 1));
}

```