#include using namespace std; using ll=long long; const int N=2e5+5; int n; int h[N]; ll p; ll f[N][2][2]; int main(){ scanf("%d%lld",&n,&p); memset(f,0x3f,sizeof(f)); for(int i=1;i<=n;++i){ scanf("%d",&h[i]); } f[1][1][0]=0; f[1][1][1]=0; f[1][0][0]=0; f[1][0][1]=0; for(int i=2;i<=n;++i){ f[i][1][0]=min(f[i-1][1][0]+min(p,1ll*max(0,h[i]-h[i-1])),f[i-1][1][1]+p); f[i][1][1]=min(f[i-1][0][0],f[i-1][0][1])+p+max(0,h[i-1]-h[i]); f[i][0][0]=min(f[i-1][1][0],f[i-1][1][1]); f[i][0][1]=min(f[i-1][0][1],f[i-1][0][0])+max(0,h[i-1]-h[i]); } cout<