#include<bits/stdc++.h> #define ll long long usingnamespace std;
constint N = 1e6 + 66, mod = 1e9 + 7;
inlineintread() { ints(0), w(1); char ch = getchar(); while (ch < '0' || ch > '9') {if (ch == '-') w = -1; ch = getchar();} while (ch >= '0' && ch <= '9') s = s * 10 + ch - '0', ch = getchar(); return s * w; }
inlinevoidput(ll x) { if (! x) putchar('0'); if (x < 0) putchar('-'), x = -x; ll num(0); char c[66]; while (x) c[++ num] = x % 10 + 48, x /= 10; while (num) putchar(c[num --]); return (void)(putchar('\n')); }
ll res, fac[N], ifac[N], f[N];
inline ll ksm(ll a, ll b) { ll ret = 1; for (; b; b >>= 1) { if (b & 1) ret = ret * a % mod; a = a * a % mod; } return ret; }
inline ll C(ll n, ll m) { return fac[n] * ifac[m] % mod * ifac[n - m] % mod; }
inlinevoidpres_dou(int n) { int i; fac[0] = 1; for (i = 1; i <= n; ++ i) fac[i] = fac[i - 1] * i % mod; ifac[n] = ksm(fac[n], mod - 2); for (i = n - 1; i >= 0; -- i) ifac[i] = ifac[i + 1] * (i + 1) % mod; // for (i = 0; i <= n; ++ i) ifac[i] = ksm(fac[i], mod - 2); for (i = 0; i <= n; ++ i) f[i] = C(n, i); return; }
signedmain() { int i, a, b, n; a = read(), b = read(), n = read(); pres_dou(n); for (i = 0; i <= n; ++ i) { int pd = 0, cnt = 0, fuck = b * i + a * (n - i); while (fuck) { int w = fuck % 10; fuck /= 10, ++ cnt; if (w == a || w == b) ++ pd; } if (pd == cnt) res = (res % mod + f[i] % mod) % mod; } put(res); return0; }