#include<bits/stdc++.h>
using namespace std;

const int maxn=5e5+10;

char s[maxn];

struct bignum{
	int len,bitcnt;
	int a[maxn];

	void init(char s[])
	{
		len=bitcnt=0;
		memset(a,0,sizeof(a));
		len=strlen(s);
		for (int i=0;i<len;i++)
			a[i]=s[len-i-1]-'0';
	}

	void multiple(int val)
	{
		int res=0;
		for (int i=0;i<len;i++)
		{
			a[i]=a[i]*val+res;
			res=a[i]/10;
			a[i]=a[i]%10;
		}
		while (res)
			a[len++]=res%10,res/=10;
	}

	void prework()
	{
		for (int i=0;i<len;i++)
			bitcnt+=a[i];
	}

	void add()
	{
		int pos=0;
		while (a[pos]==9)
			a[pos++]=0,bitcnt-=9;
		a[pos]++;
		bitcnt++;
		len+=len==pos;
	}
}n;

int main()
{
#ifdef h10
	freopen("E.in","r",stdin);
	freopen("E.out","w",stdout);
#endif
	int i,k;
	scanf("%s",s);
	n.init(s);
	n.multiple(9);
	n.prework();
	for (k=1;;k++)
	{
		for (i=1;i<=9;i++) n.add();
		if (n.bitcnt<=9*k) break;
	}
	printf("%d\n",k);
}
