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

#define ios ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define ll long long
#define inf INT_MAX
#define llinf LLONG_MAX
#define mt make_tuple
#define mp make_pair
#define parll pair<ll,ll>
#define parii pair<int,int>
#define nzd __gcd
#define nzs(e1,e2) (e1/nzd(e1,e2))*e2
#define min3(brp1,brp2,brp3) min(brp1,min(brp2,brp3))
#define min4(brp1,brp2,brp3,brp4) min(brp1,min3(brp2,brp3,brp4))
#define max3(brp1,brp2,brp3) max(brp1,max(brp2,brp3))
#define max4(brp1,brp2,brp3,brp4) max(brp1,max3(brp2,brp3,brp4))
#define l_b(BRL,brl) lower_bound( BRL.begin(), BRL.end(), brl )-BRL.begin()-1 /// !za one based! vraca mani iako brl postoji, vraca 0 kada ne postoji manji
#define u_b(BRU,bru) upper_bound( BRU.begin(), BRU.end(), bru )-BRU.begin() /// !za one based! vraca veci iako bru postoji, vraca n+1 kada ne postoji veci
#define mod 1000000007
#define mxn 200002

ll n,k,A[mxn];

ll Jednaki()
{
    ll suma = 0;
    for ( ll i = 2; i < n; i++ )
    {
        suma += A[i];
    }
    if ( suma <= 0 )
    {
        return abs(A[1]-A[n])-suma;
    }
    return abs(A[1]-A[n])+suma;
}

int main()
{
    ios;

    cin >> n >> k;
    for ( ll i = 1; i <= n; i++ )
    {
        cin >> A[i];
    }
    if ( n == k )
    {
        cout << Jednaki();
        return 0;
    }
    cout << 1;

    return 0;
}