#include "iostream"
#include "math.h"
using namespace std;

int main()
{
	long long int n, c;
	cin >> n;
	c = n + 1;
	int a = 0;
	while (c > 10) {
		c = (c - c % 10) / 10;
		a++;
	}
	int b = a * 9 +int( (n + 1) / (pow(10, a))) - 1;
	cout << b << endl;

	return 0;
} 
### Prompt

Please create a solution in Cpp 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"
#include "math.h"
using namespace std;

int main()
{
	long long int n, c;
	cin >> n;
	c = n + 1;
	int a = 0;
	while (c > 10) {
		c = (c - c % 10) / 10;
		a++;
	}
	int b = a * 9 +int( (n + 1) / (pow(10, a))) - 1;
	cout << b << endl;

	return 0;
} 
```