#include<cstdio>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<string>
#include<vector>
#include<queue>

#define rep(i,j) for(int i=0;i<(j);i++)

using namespace std;

typedef pair<int,int> pii;
const int d[2]={-1,1};
int n,l,a[100000],b[100000];

int f(int p,bool right){
    int ne = p+d[right];
    if(ne >=0 && ne < n){
        if(b[ne]>0)return b[ne];
        if(a[p] > a[ne])return l-a[p] + f(ne,right);
    }
    return l-a[p];
}
int main(){
    scanf("%d%d",&n,&l);
    rep(i,n)scanf("%d",a+i);
    int ans=0;
    rep(i,n){
        ans = max(ans,max(f(i,true),f(i,false)));
    }
    printf("%d\n",ans);
	return 0;
}