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 (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <stdio.h>

int main(void){
int M,N,sum,k,i,j,l,m;
scanf("%d",&N);
i=1;
if(N<=9){
	printf("%d",N);}
	else{
			
for(k=1;k<=16;k++){
	N/=10;
	if(N>=1){
	j=N;	
	i=i+1;}else{
		break;}
}
sum=j-1+9*(i-1);
	for(l=1;l<=16;l++){
		for(m=1;m<=9;m++){
			M=m*10^l-1;
			if(N==M){
				printf("%d",m-1+9*l);
				break;}else{
				printf("%d",sum);
				break;}}
				break;}
	}
				
return 0;}