#include using namespace std; #define FOR(i,a,b) for(int i=a;i>N>>D; REP(i,N) cin>>T[i]>>K[i]; bool nowcity=true; //trueが東京 dp[0]=0; REP(i,N){ if(nowcity){ if(T[i]==K[i]-D&&i!=N-1){ dp[i+1]=dp[i]+T[i]; nowcity=(T[i+1]>K[i+1]?true:false); } else if(T[i]>K[i]-D) dp[i+1]=dp[i]+T[i]; else{ dp[i+1]=dp[i]+K[i]-D; nowcity=false; } } else{ if(K[i]==T[i]-D&&i!=N-1){ dp[i+1]=dp[i]+K[i]; nowcity=(T[i+1]>K[i+1]?true:false); } else if(K[i]>T[i]-D) dp[i+1]=dp[i]+K[i]; else{ dp[i+1]=dp[i]+T[i]-D; nowcity=true; } } } REP(i,N+1) debug(dp[i]); cout<