#include <bits/stdc++.h>
using namespace std;
const int INF = 2147483647;
const int N = 1000005;
const int MAXX = 1000000;
int wsk[10][N], maks[N], tab[10][N], i, n2, res, od, j, d, reszta, pier;
long long n, wyn;
int main() {
  maks[0] = 0;
  for (i = 1; i <= MAXX; i++) {
    n2 = i;
    res = 0;
    while (n2 > 0) {
      res = max(res, n2 % 10);
      n2 /= 10;
    }
    maks[i] = res;
  }
  for (j = 0; j < 10; j++) {
    wsk[j][0] = MAXX - max(1, j);
    tab[j][0] = 1;
    for (i = 1; i <= MAXX; i++) {
      od = max(j, maks[i]);
      if (i - od < 0) {
        wsk[j][i] = MAXX + i - od;
        tab[j][i] = 1;
      } else {
        wsk[j][i] = wsk[j][i - od];
        tab[j][i] = tab[j][i - od] + 1;
      }
    }
  }
  cin >> n;
  reszta = n % MAXX;
  pier = (n - reszta) / MAXX;
  wyn = 0;
  while (pier >= 0) {
    d = maks[pier];
    wyn += tab[d][reszta];
    reszta = wsk[d][reszta];
    pier--;
  }
  cout << wyn - 1 << endl;
  return 0;
}
