#include int modpow(int a, int n, int p) { int res = 1; for (; n > 0; n /= 2, a = a * a % p) if (n % 2 > 0) res = res * a % p; return res; } int fib[502], w[502]; int a[10004]; int main() { int k, s, n; scanf("%d %d %d", &k, &s, &n); int p = 10007; int i, j; fib[0] = fib[1] = 1; for (i = 2; i <= k; i++) fib[i] = (fib[i - 1] + fib[i - 2]) % p; for (i = 0; i <= k; i++) w[i] = modpow(fib[i], p - 2, p); a[0] = 0; a[1] = s; for (i = 2; i <= n; i++) { a[i] = 0; for (j = 0; j <= k && i - j - 1 >= 0; j++) a[i] = (a[i] + w[j] * a[i - j - 1] % p) % p; } printf("%d\n", a[n]); return 0; }