#include <iostream>
#include <algorithm>
#include <vector>
#include <cstdio>
using namespace std;
int main() {
int t;
scanf("%d",&t);
while (t--) {
int n,x;
scanf("%d%d",&n,&x);
vector <int> a(n);
for (int i = 0; i < n; i++) {
scanf("%d",&a[i]);
}
if (n == 1)
printf("%d\n",a[0]+x);
else {
sort(a.begin(),a.end());
int b[n];
for (int i = 1; i < n; i++) {
b[i] = a[i]-a[i-1];
}
int ans = a[0];
int ctr = 1;
for (int i = 1; i < n; i++) {
if (x == 0)
break;
if (x >= ctr *b[i]) {
ans += b[i];
x = x-b[i];
ctr++;
}
else {
ans += x/ctr;
x = 0;
}
}
ans += x/n;
printf("%d\n",ans);
}}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y3N0ZGlvPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgdDsKCXNjYW5mKCIlZCIsJnQpOwoJd2hpbGUgKHQtLSkgewoJCWludCBuLHg7CgkJc2NhbmYoIiVkJWQiLCZuLCZ4KTsKCQl2ZWN0b3IgPGludD4gYShuKTsKCQlmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewoJCQlzY2FuZigiJWQiLCZhW2ldKTsKCQl9CgkJaWYgKG4gPT0gMSkKCQkJcHJpbnRmKCIlZFxuIixhWzBdK3gpOwoJCWVsc2UgewoJCXNvcnQoYS5iZWdpbigpLGEuZW5kKCkpOwoJCWludCBiW25dOwoJCWZvciAoaW50IGkgPSAxOyBpIDwgbjsgaSsrKSB7CgkJCWJbaV0gPSBhW2ldLWFbaS0xXTsKCQl9CgkJaW50IGFucyA9IGFbMF07CgkJaW50IGN0ciA9IDE7CgkJZm9yIChpbnQgaSA9IDE7IGkgPCBuOyBpKyspIHsKCQkJaWYgKHggPT0gMCkKCQkJCWJyZWFrOwoJCQlpZiAoeCA+PSBjdHIgKmJbaV0pIHsKCQkJCWFucyArPSBiW2ldOwoJCQkJeCA9IHgtYltpXTsKCQkJCWN0cisrOwoJCQl9CgkJCWVsc2UgewoJCQkJYW5zICs9IHgvY3RyOwoJCQkJeCA9IDA7CgkJCX0KCQl9CgkJYW5zICs9IHgvbjsKCQlwcmludGYoIiVkXG4iLGFucyk7Cgl9fQoJcmV0dXJuIDA7Cn0=