#include <stdio.h>#include <memory.h>#define N 105#define clr(a) memset(a,0,sizeof(a))int n,m;int f[N][N][N] = {0};int MAX(int a,int b){ return a>b?a:b;}int F(int s,int d,int r){ if(f[s][d][r]) return f[s][d][r]; if(r<=m){ if(s==0 && d==0) f[s][d][r] = r; else f[s][d][r] = s+d+r-F(0,0,d); } else{ int k; for(k=1;k<=m;k++){ f[s][d][r] = MAX(f[s][d][r], s+d+r-F(d,s+k,r-k)); } } return f[s][d][r];}int main(){ int i,j,k; while(scanf("%d%d",&n,&m)!=EOF){ clr(f); printf("%dn",F(0,0,n)); } return 0;}


