#include <bits/stdc++.h>
using namespace std;
int64_t n, x;
vector<int64_t> a;
int64_t cost(int64_t k)
{
int64_t c = k;
a[n/2]+=k;
for(int64_t i = n/2+1;i<n;i++)
if(a[i]<a[n/2]) c+= a[n/2]-a[i];
a[n/2]-=k;
return c;
}
int64_t cnp(int64_t l, int64_t r)
{
if(l>r) return -1;
if(l==r)
{
int64_t t = cost(l);
if(t>x) return -1;
return l;
}
int64_t mid = (l+r)/2;
int64_t t = cost(mid);
if(t>x) return cnp(l,mid-1);
if(t<=mid) return max(mid,cnp(mid+1,r));
}
int main()
{
cin >> n >> x;
a.resize(n);
for(int64_t i = 0;i<n;i++)
cin >> a[i];
sort(a.begin(),a.end());
int64_t k = cnp(0,x);
cout << a[n/2] + max(cnp(0,x),static_cast<int64_t>(0));
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQ2NF90IG4sIHg7CnZlY3RvcjxpbnQ2NF90PiBhOwppbnQ2NF90IGNvc3QoaW50NjRfdCBrKQp7CiAgICBpbnQ2NF90IGMgPSBrOwogICAgYVtuLzJdKz1rOwogICAgZm9yKGludDY0X3QgaSA9IG4vMisxO2k8bjtpKyspCiAgICAgICAgaWYoYVtpXTxhW24vMl0pIGMrPSBhW24vMl0tYVtpXTsKICAgIGFbbi8yXS09azsKICAgIHJldHVybiBjOwp9CmludDY0X3QgY25wKGludDY0X3QgbCwgaW50NjRfdCByKQp7CiAgICBpZihsPnIpIHJldHVybiAtMTsKICAgIGlmKGw9PXIpCiAgICB7CiAgICAgICAgaW50NjRfdCB0ID0gY29zdChsKTsKICAgICAgICBpZih0PngpIHJldHVybiAtMTsKICAgICAgICByZXR1cm4gbDsKICAgIH0KICAgIGludDY0X3QgbWlkID0gKGwrcikvMjsKICAgIGludDY0X3QgdCA9IGNvc3QobWlkKTsKICAgIGlmKHQ+eCkgcmV0dXJuIGNucChsLG1pZC0xKTsKICAgIGlmKHQ8PW1pZCkgcmV0dXJuIG1heChtaWQsY25wKG1pZCsxLHIpKTsKfQppbnQgbWFpbigpCnsKICAgIGNpbiA+PiBuID4+IHg7CiAgICBhLnJlc2l6ZShuKTsKICAgIGZvcihpbnQ2NF90IGkgPSAwO2k8bjtpKyspCiAgICAgICAgY2luID4+IGFbaV07CiAgICBzb3J0KGEuYmVnaW4oKSxhLmVuZCgpKTsKICAgIGludDY0X3QgayA9IGNucCgwLHgpOwogICAgY291dCA8PCBhW24vMl0gKyBtYXgoY25wKDAseCksc3RhdGljX2Nhc3Q8aW50NjRfdD4oMCkpOwogICAgcmV0dXJuIDA7Cn0K