#include <stdio.h>
#include <list>

using namespace std;

list < int > grupa;

int main()
{
    freopen("zetoni.in", "r", stdin );
    freopen("zetoni.out", "w", stdout );

    int n, k, res = 0;

    scanf("%d%d", &n, &k );

    grupa. push_back( k );

    while ( n -- )
    {
        int visina;
        scanf("%d", &visina );

        grupa. push_back( visina );
    }

    grupa. push_back( k );

    list < int > :: iterator i = grupa. begin();

    while ( i != grupa. end() )
    {
        list < int > :: iterator sledeci = i;

        sledeci ++;

        while ( sledeci != grupa. end() && * i == * sledeci )
        {
            grupa. erase( sledeci );

            sledeci = i;

            sledeci ++;
        }

        i ++;
    }

    while ( grupa. size() > 1 )
    {
        list < int > :: iterator i = grupa. begin();

        list < int > :: iterator s = i;
        s ++;

        list < int > :: iterator ss = s;
        ss ++;

        while ( ss != grupa. end() )          //for ( int i = 0; i + 2 < grupa. size(); i ++ )
        {
            while ( ss != grupa. end() && * i > * s )            //while ( i + 2 < grupa. size() && grupa[ i ] > grupa[ i + 1 ] )

                if ( * ss >= * i )
                {
                    res += * i - * s;

                    grupa. erase( s );

                    s = i;
                    s ++;

                    if ( s == grupa. end() ) ss = grupa. end();
                    else
                    {
                        ss = s;
                        ss ++;
                    }

                    if ( * s == * i )
                    {
                        grupa. erase( s );

                        s = i;
                        s ++;

                        if ( s == grupa. end() ) ss = grupa. end();
                        else
                        {
                            ss = s;
                            ss ++;
                        }
                    }
                }
                else if ( * ss > * s )
                {
                    res += * ss - * s;

                    grupa. erase( s );

                    s = i;
                    s ++;

                    if ( s == grupa. end() ) ss = grupa. end();
                    else
                    {
                        ss = s;
                        ss ++;
                    }
                }
                else break;

            i ++;

            s = i;
            s ++;

            if ( s == grupa. end() ) ss = grupa. end();
            else
            {
                ss = s;
                ss ++;
            }
        }
    }

    printf("%d\n", res );

    return 0;
}
