// C. Maximum Median
#define ll long long
#include <bits/stdc++.h>
using namespace std;
int main()
{
ll n, k;
cin >> n >> k;
ll index_median = n / 2;
vector<ll> aa(n);
vector<ll> a;
for (ll i = 0; i < n; i++)
{
cin >> aa[i];
}
sort(aa.begin(), aa.end());
for (ll i = index_median; i < n - 1; i++)
{
a.push_back(aa[i + 1] - aa[i]);
}
ll x = aa[index_median];
for (ll i = 0; i < a.size(); i++)
{
ll z = (i + 1) * a[i];
if (z <= k)
{
k -= z;
x += a[i];
}
else
{
break;
}
}
x+=k/(a.size()+1);
cout << x << endl;
return 0;
}
Ly8gQy4gTWF4aW11bSBNZWRpYW4KI2RlZmluZSBsbCBsb25nIGxvbmcKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBtYWluKCkKewogICAgbGwgbiwgazsKICAgIGNpbiA+PiBuID4+IGs7CiAgICBsbCBpbmRleF9tZWRpYW4gPSBuIC8gMjsKICAgIHZlY3RvcjxsbD4gYWEobik7CiAgICB2ZWN0b3I8bGw+IGE7CiAKICAgIGZvciAobGwgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgY2luID4+IGFhW2ldOwogICAgfQogICAgc29ydChhYS5iZWdpbigpLCBhYS5lbmQoKSk7CiAKICAgIGZvciAobGwgaSA9IGluZGV4X21lZGlhbjsgaSA8IG4gLSAxOyBpKyspCiAgICB7CiAgICAgICAgYS5wdXNoX2JhY2soYWFbaSArIDFdIC0gYWFbaV0pOwogICAgfQogCiAgICBsbCB4ID0gYWFbaW5kZXhfbWVkaWFuXTsKIAogICAgZm9yIChsbCBpID0gMDsgaSA8IGEuc2l6ZSgpOyBpKyspCiAgICB7CiAgICAgICAgbGwgeiA9IChpICsgMSkgKiBhW2ldOwogICAgICAgIGlmICh6IDw9IGspCiAgICAgICAgewogICAgICAgICAgICBrIC09IHo7CiAgICAgICAgICAgIHggKz0gYVtpXTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQogCiAgICB4Kz1rLyhhLnNpemUoKSsxKTsKICAgIGNvdXQgPDwgeCA8PCBlbmRsOwogCiAgICByZXR1cm4gMDsKfQ==