#include <iostream>
using namespace std;
int ic[100002],icL[100002];
int maxer=0;
	int N,L;
void pick(int i){
		if(icL[i-1]<icL[i] && icL[i+1] <icL[i]){
			ic[i]=max(ic[i-1],ic[i+1])+L-icL[i];
			maxer=max(ic[i],maxer);
			icL[i]=0;
			pick(i+1);
			pick(i-1);
		}

}
int main() {

	cin >> N >> L;
	icL[0]=0;
	icL[N+1]=0;
	for ( int i=1;i<=N;i++)
		cin >> icL[i];
	for(int i=1;i<=N;i++){
		pick(i);
	}
	cout << maxer << endl;
	return 0;
}