#include <iostream>
#include <deque>
#include <vector>
#include <algorithm>
#include <utility>
using namespace std;
int main(){
    ios_base::sync_with_stdio(false);
	int n,k;cin>>n>>k;
	if(n==k){
		deque<int> moc;
		for(int i=0;i<n;i++){
			int x;cin>>x;
			moc.push_back(x);
		}
		while(moc.size()>1){
			if(moc.front()-moc.back()>=moc.back()-moc.front()){
				moc.front()-=moc.back();
				moc.pop_back();
			}
			else{
				moc.back()-=moc.front();
				moc.pop_front();
			}
		}
		cout<<moc.front();
	}
	else{
		vector<pair<int,int>> moc;
		for(int i=0;i<n;i++){
			int x;cin>>x;
			moc.emplace_back(x,i);
		}
		sort(moc.begin(),moc.end());
		int m=n;
		for(int i=0;i<n-k;i++){
			int s=(n-1)/2;
			moc.erase(moc.begin()+s);
			m--;
		}
		for(int i=0;i<k;i++){
			swap(moc[i].first,moc[i].second);
		}
		sort(moc.begin(),moc.end());
		/*for(int i=0;i<k;i++){
			cout<<moc[i].second<<" ";
		}*/
		while(moc.size()>1){
			if(moc.front().second-moc.back().second>=moc.back().second-moc.front().second){
				moc.front().second-=moc.back().second;
				moc.pop_back();
			}
			else{
				moc.back().second-=moc.front().second;
				moc.erase(moc.begin());
			}
		}
		cout<<moc.front().second;
	}

	
	return 0;
}