MOD=10**9+7 def G_mod(i,d): ret=i*(pow(d+1,i,MOD)-1)-(d+1)*(i*d*pow(d+1,i-1,MOD)-pow(d+1,i,MOD)+1)*pow(d,MOD-2,MOD) ret%=MOD return ret n=int(input()) b,d=map(int,input().split()) tot=G_mod(b,d) while n>0: p=0 while pow(d+1,p+1)-1<=n: p+=1 q=n//pow(d+1,p) tot-=q*(p+1+G_mod(p,d)) n-=q*pow(d+1,p) if n==pow(d+1,p)-1: n-=pow(d+1,p)-1 tot-=G_mod(p,d) print(tot%MOD)