#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 100010, INF = 0x3f3f3f3f;
int n, f;
int p[N][2];
int main()
{
cin >> n >> f;
p[0][1] = -INF;
for(int i = 1;i <= n; i ++){
int w; cin >> w;
p[i][1] = max(p[i - 1][0] - w, p[i - 1][1]);
p[i][0] = max(p[i - 1][1] + w - f, p[i - 1][0]);
}
cout << p[n][0] << endl;
return 0;
}