Problem:
Score : 300 points

Problem Statement

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.

Sample Input 1

100

Sample Output 1

18

For example, the sum of the digits in 99 is 18, which turns out to be the maximum value.

Sample Input 2

9995

Sample Output 2

35

For example, the sum of the digits in 9989 is 35, which turns out to be the maximum value.

Sample Input 3

3141592653589793

Sample Output 3

137

Solution in C++14 (GCC 5.4.1) (judge verdict: Accepted)

 #include<iostream>
 #include<string>
 using namespace std;
 
 int main()
 {
 	string str;
 	while(cin>>str)
 	{
 	    bool flag=false;
 		int len=str.length();
 		for(int i=1;i<len;i++)
 		{
 			if(str[i]!='9')
 			{
 				flag=true;
 				break;
			 }
			 if(flag) break;
		 }
 		int sum=0;
 		sum=sum+(len-1)*9;
 		if(flag) sum=sum+(str[0]-'0')-1;
 		else sum=sum+(str[0]-'0');
 		cout<<sum<<endl;
	 }
 	return 0;
 }