#include<iostream>
#include<algorithm>

using namespace std ;

bool came[ 100000 ] ;

int main()
{
	int n ,last_icicle ;
	cin >> n >> last_icicle ;
	long icicles[ n + 2 ] ,icicle[ n + 2 ] ;
	icicles[ 0 ] = icicles[ n + 1 ] = 0 ;
	for( int i = 1 ; i <= n ; i++ )
		cin >> icicles[ i ] ,icicle[ i ] = last_icicle - icicles[ i ] ;
	for( int i = 1 ; i <= n ; i++ )
	{
		if( came[ i - 1 ] && icicles[ i ] > icicles[ i + 1 ] )
			icicle[ i ] += icicle[ i - 1 ] ,came[ i ] = true ;
		else if( icicles[ i ] > icicles[ i - 1 ] && icicles[ i ] > icicles[ i + 1 ] )
			came[ i ] = true ;
	}
	for( int i = n ; i > 0 ; i-- )
	{
		if( !came[ i ] )
		{
			if( came[ i - 1 ] )
				icicle[ i ] += max( icicle[ i - 1 ] ,icicle[ i + 1 ] ) ;
			else if( icicles[ i ] > icicles[ i - 1 ] )
				icicle[ i ] += icicle[ i + 1 ] ;
		}
	}
	
	sort( icicle + 1 ,icicle + n + 1 ) ;

	cout << icicle[ n ] << endl ;
	return 0 ;
}