#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<queue>
#define inf 2147483647
#define eps 1e-9
using namespace std;
typedef long long ll;
int n,tot,a[800001];
char s[500001];
void mul(int a[],int &n,int k){
    // a[n]a[n-1]...a[1]是长度为n(a[1]a[2]...a[n]才是n)的大数(ans)，求ans*k之后得到的各个位数的数字之和
    // tot保存的是之和，a[n]a[n-1]...a[1]是保留ans*k
    int p=0;
    tot=0;
    for(int i=1;i<=n;i++){
        p=a[i]*k+p;
        a[i]=p%10;
        tot+=a[i];
        p/=10;
    }
    if(p)a[++n]=p;
    tot+=p;
}
void add(int a[],int &n,int k){
    int p=0;//p是进位
    tot-=a[1];//tot保留的的到ans+k之后的数字各位数之和.a[n]a[n-1]..a[1]也就变成了ans+k
    a[1]+=k;
    p=a[1]/10;
    a[1]%=10;
    tot+=a[1];
    for(int i=2;i<=n;i++){
        tot-=a[i];
        a[i]+=p;
        p=a[i]/10;
        a[i]%=10;
        tot+=a[i];
        if(!p)break; //加法没有进位，
    }
    if(p)a[++n]=p;
    tot+=p;
}
int main(){
    scanf("%s",s);
    n=strlen(s);
    for(int i=1;i<=n;i++){
        a[i]=s[n-i]-'0';
    }
    mul(a,n,9);
    for(int i=1;i<=n;i++){
        add(a,n,9);//cout<<tot<<endl;
        if(tot%9==0&&i*9>=tot)return printf("%d",i);
    }
    return 0;
}
