// Removing Digits #include using namespace std; int dp[(int)1e6 + 1]; int solve(int n) { if (dp[n]) return dp[n]; int count = INT_MAX; if (n == 0) return 0; for (int i = 1; i <= 10 * n; i*= 10) { int remove = (n / i) - (n / (10 * i)) * 10; if (!remove) continue; count = min(count, 1 + solve(n - remove)); } dp[n] = count; return count; } int main() { int n; cin >> n; cout << solve(n) << endl; return 0; }