#include #include #include #include #include #include #include #include #include #include #define rep(i,n) for(int i=0;i=0;i--) #define FOR(i,a,b) for(int i=a;i>n>>d; vector t,k,dpt,dpk; t.resize(n); k.resize(n); dpt.resize(n+1); dpk.resize(n+1); rep(i,n){ cin>>t[i]>>k[i]; } dpt[0]=0; dpk[0]=-1*d; rep(i,n){ dpt[i+1]=max(dpt[i]+t[i],dpk[i]+t[i]-d); dpk[i+1]=max(dpk[i]+k[i],dpt[i]+k[i]-d); } cout<