#include <bits/stdc++.h>
int n;
long long mem[55][10];
char s[55];
long long f(int x, int num) {
  int y;
  if (x == n) return 1;
  if (!mem[x][num]) {
    y = num + s[x] - '0';
    mem[x][num] += f(x + 1, y / 2);
    if (y % 2 != 0) mem[x][num] += f(x + 1, y / 2 + 1);
  }
  return mem[x][num];
}
bool check() {
  int i, x, a, b;
  bool check = true;
  for (i = 1; i < n; i++) {
    x = s[i] - '0' + s[i - 1] - '0';
    a = x / 2;
    b = x / 2;
    if (x % 2 != 0) b++;
    if (a != s[i] - '0' && b != s[i] - '0') check = false;
  }
  return check;
}
int main() {
  int i;
  long long ans = 0;
  scanf(" %s", s);
  n = strlen(s);
  for (i = 0; i < 10; i++) ans += f(1, i);
  printf("%I64d", ans - check());
}
