#include <bits/stdc++.h>
using namespace std;
int n,k,a[200005],counter=0,counter2=0,maxi,vrednost1,vrednost2,vrednost3,vrednost4;
bool prvi=false,drugi=false;
int main(){
    cin >> n >> k;
    for(int i=0; i<n; i++){
        cin >> a[i];
    }
    counter2=n-1;
    for(int i=0; i<k-1; i++){
        if(i=k-2){
        vrednost1=(a[counter]-a[counter2]);
        vrednost2=(a[counter2]-a[counter]);
        maxi=max(vrednost1,vrednost2);
        }
        else{
        vrednost1=(a[counter]-a[counter2])+(a[counter2-1]-(a[counter]-a[counter2]));
        vrednost2=(a[counter2]-a[counter])+(a[counter+1]-(a[counter2]-a[counter]));
        vrednost3=(a[counter]-a[counter2])+((a[counter]-a[counter2])-a[counter2-1]);
        vrednost4=(a[counter2]-a[counter])+((a[counter2]-a[counter])-a[counter+1]);
        maxi=max(max(max(vrednost1,vrednost2),vrednost3),vrednost4);
        }
        if(maxi==vrednost1 || maxi==vrednost3){
            a[counter]-=a[counter2];
            counter2--;
            prvi=true;
            drugi=false;
        }
        else{
            a[counter2]-=a[counter];
            counter++;
            drugi=true;
            prvi=false;
        }
    }
    if(prvi==true)cout << a[counter] << endl;
    else cout << a[counter2] << endl;
    return 0;
}