#include using namespace std; const int MOD = 1000000007; int n, b, d, inv, ans; int QMI(int a, int k) { int ret = 1 % MOD; while (k) { if (k & 1) { ret = 1LL * ret * a % MOD; } a = 1LL * a * a % MOD; k >>= 1; } return ret; } int main() { scanf("%d%d%d", &n, &b, &d); ans = QMI(d + 1, b + 1) - 1; (ans += MOD) %= MOD; inv = QMI(d, MOD - 2); ans = 1LL * ans * inv % MOD; while (n > 0) { ans = (ans - n % MOD + MOD) % MOD; n /= (d + 1); } ans = (ans - (b + 1) + MOD) % MOD; printf("%d\n", ans); return 0; }