#include<bits/stdc++.h>
using namespace std;

int N,L;
int t[100005];
int ans[100005];

int main(){
  cin>>N>>L;
  for(int i=1;i<=N;i++)cin>>t[i];

  queue<int> Q;
  for(int i=1;i<=N;i++){
    if(t[i-1]<t[i]&&t[i]>t[i+1]){
      Q.push(i);
      ans[i]=L-t[i];
    }
  }
  while(!Q.empty()){
    int p=Q.front();Q.pop();
    t[p]=0;
    if(1<=p-1){
      if(t[p-2]<t[p-1]){
	ans[p-1]=ans[p]+L-t[p-1];
	Q.push(p-1);
      }
    }
    if(p+1<=N){
      if(t[p+1]>t[p+2]){
	ans[p+1]=ans[p]+L-t[p+1];
	Q.push(p+1);
      }
    }
  }

  int maxm=0;
  for(int i=1;i<=N;i++)maxm=max(maxm,ans[i]);
  cout<<maxm<<endl;
  return 0;
}