#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

char c[20];
int i,n,t1,t2;

int main()
{
	scanf("%s",c+1);
	n=strlen(c+1);
	for (i=1;i<=n;i++)
		t1=t1+c[i]-48;
	t2=c[1]-49+(n-1)*9;
	printf("%d",max(t1,t2));
	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 <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

char c[20];
int i,n,t1,t2;

int main()
{
	scanf("%s",c+1);
	n=strlen(c+1);
	for (i=1;i<=n;i++)
		t1=t1+c[i]-48;
	t2=c[1]-49+(n-1)*9;
	printf("%d",max(t1,t2));
	return 0;
}

```