#include<iostream>
#include<cstring>
#include<cstdio>
#include<string>
#include<set>
#include<map>
#include<queue>
#include<vector>
#include<algorithm>
using namespace std;
#define rep(x,a,b) for(int x=a;x<=b;x++)
#define drep(x,a,b) for(int x=a;x>=b;x--)
#define rush() int T;scanf("%d",&T);while(T--)
#define wash(x,y) memset(x,y,sizeof(x));

int main(){
	string digit;
	cin>>digit;
	
	int len=digit.length();
	bool flag=true;
	rep(i,1,len-1){
		if(digit[i]!='9'){
			flag=false;
			break;
		}
	}
	
	int ans=-1;
	if(flag){
		ans=(digit[0]-'0')+9*(len-1);
	}
	else if(digit[0]>'1'){
		ans=(digit[0]-'0'-1)+9*(len-1);
	}
	else if(len==1){
		ans=1;
	}
	else{
		ans=9*(len-1);
	}
	
	cout<<ans;
}