#include #include #include #include #include #define MOD 666013 using namespace std; int n , i , x , v[20] , sol , j , crt; char s[20]; vector < int > h[MOD]; bool find(int x) { vector :: iterator it; for (it=h[x%MOD].begin();it!=h[x%MOD].end();it++) if (*it==x) return true; return false; } int main() { //freopen("keitai.in","r",stdin); //freopen("keitai.out","w",stdout); gets(s+1); n = strlen(s+1); sol = 0; for (i = 0; i <= 9; ++i) { for (j = 3; j <= n; ++j) v[j-2] = s[j] - '0'; v[8] = i; crt = 8; for (int k = 1; k <= 8; ++k) { x = 0; for (j = 1; j <= 8; ++j) x = x * 10 + v[j]; if (!find(x)) { h[x%MOD].push_back(x); sol++; } swap(v[crt] , v[crt-1]); crt--; } } printf("%d\n", sol); return 0; }