#include <bits/stdc++.h>

#define For(i, j, k) for(int i = j; i <= k; i++)
#define Forr(i, j, k) for(int i = j; i >= k; i--)

using namespace std;

const int N = 500010;

char S[N];
int n;

set<int> pos;

int main(){
	scanf("%s", S + 1);
	n = strlen(S + 1);
	int ans = 1;
	For(i, 1, n - 1) if(S[i] > S[i + 1]) pos.insert(i);
	For(i, 1, n - 1)
		if(S[i] >= S[i + 1] && pos.size() && S[*pos.begin()] == S[i]){
			if(S[i] > S[i + 1]) pos.erase(i);
			++ans;
			S[n]++;
			int l = i, bound = l;
			S[l] = '0';
			Forr(j, n, l + 1){
				if(S[j] > '9'){
					S[j] = '0';
					S[j - 1]++;
				}
				else{
					bound = j - 1;
					break;
				}
			}
			For(j, bound, n - 1){
				if(S[j] <= S[j + 1] && pos.count(j)) pos.erase(j);
				else if(S[j] > S[j + 1] && !pos.count(j)) pos.insert(j);
			}
		//	printf("%s\n", S + 1);
			i = l - (S[l] > '0');
		}
		else S[i] = '0';
	printf("%d\n", ans);
	return 0;
}