#include <iostream>
#include <climits>
using namespace std;
int*dp;
int rec(int n)
{
if(n == 0)
{
return 0;
}
if(dp[n] != -1)
{
return dp[n];
}
//cout<<"n="<<n<<endl;
string S = to_string(n);
int ans = INT_MAX;
for(int i=0;i<S.length();i++)
{
if(S[i] != '0')
{
ans = min(ans,rec(n - (S[i]-'0'))+1);
}
}
dp[n] = ans;
return ans;
}
int main() {
int n;
cin>>n;
dp = new int[n+1];
for(int i=0;i<=n;i++)
{
dp[i]=-1;
}
rec(n);
cout<<dp[n]<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y2xpbWl0cz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCpkcDsKaW50IHJlYyhpbnQgbikKewoJCglpZihuID09IDApCgl7CgkJcmV0dXJuIDA7Cgl9CgkKCWlmKGRwW25dICE9IC0xKQoJewoJCXJldHVybiBkcFtuXTsKCX0KCQoJLy9jb3V0PDwibj0iPDxuPDxlbmRsOwoJCglzdHJpbmcgUyA9IHRvX3N0cmluZyhuKTsKCWludCBhbnMgPSBJTlRfTUFYOwoJZm9yKGludCBpPTA7aTxTLmxlbmd0aCgpO2krKykKCXsKCQlpZihTW2ldICE9ICcwJykKCQl7CgkJCWFucyA9IG1pbihhbnMscmVjKG4gLSAoU1tpXS0nMCcpKSsxKTsKCQl9Cgl9CgkKCWRwW25dID0gYW5zOwoJcmV0dXJuIGFuczsKfQoKCmludCBtYWluKCkgewoJCglpbnQgbjsKCWNpbj4+bjsKCQoJZHAgPSBuZXcgaW50W24rMV07Cglmb3IoaW50IGk9MDtpPD1uO2krKykKCXsKCQlkcFtpXT0tMTsKCX0KCXJlYyhuKTsKCWNvdXQ8PGRwW25dPDxlbmRsOwoJcmV0dXJuIDA7Cn0=