--------------------
const int maxn=100000;
const int maxm=10000;
const LL LIM=1234567890LL;
LL n,k;
LL f[maxn];
LL sum[maxn];
int main(){
while (cin>>n>>k){
if (n==0) break;
if (k==0) cout<<min(LIM+1,n-1)<<endl;
else{
f[0]=0;
LL ans=0;
sum[0]=0;
for (LL i=1;i<n;i++){
f[i]=i+sum[i-1]-sum[max(i-k-1,0LL)];
sum[i]=sum[i-1]+f[i];
ans=f[i];
if (f[i]>LIM) break;
}
cout<<ans<<endl;
}
}
return 0;
}
--------------------