func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, A, B;   long long toi(string s) {     istringstream is(s);     long long x;     is >> x;     return x;   }   string tos(long long t) {     stringstream st;     st << t;     return st.str();   }   long long F[1000005], FP[1000005];   bool f(long long x) {     while (x > 0) {       if (x % 10 != A && x % 10 != B) return 0;       x /= 10;     }     return 1;   }   long long pow(long long a, long long b, long long c) {     long long x = 1, y = a;     while (b > 0) {       if (b & 1) x = (x * y) % c;       y = (y * y) % c;       b >>= 1;     }     return x;   }   int main() {     F[0] = 1;     for (int i = 1; i < 1000005; ++i) {       F[i] = i * F[i - 1];       if (F[i] >= 1000000007) F[i] %= 1000000007;     }     FP[1000005 - 1] = pow(F[1000005 - 1], 1000000007 - 2, 1000000007);     for (int i = 1000005 - 2; i >= 0; --i) {       FP[i] = FP[i + 1] * (i + 1);       if (FP[i] >= 1000000007) FP[i] %= 1000000007;     }     while (cin >> A >> B >> n) {       long long cnt = 0;       for (int i = 0; i <= n; ++i)         if (f(i * A + (n - i) * B)) {           long long num = F[n], den = FP[i] * FP[n - i];           if (den >= 1000000007) den %= 1000000007;           num *= den;           if (num >= 1000000007) num %= 1000000007;           cnt += num;           if (cnt >= 1000000007) cnt -= 1000000007;         }       cout << cnt << endl;     }   }   