#include<iostream>
#include<cstdio>
#include<string>
#include<vector>
#include<set>
#include<unordered_set>
#include<map>
#include<unordered_map>
#include<queue>
#include<stack>
#include<list>
#include<iomanip>
#include<utility>
#include<bitset>
#include<algorithm>
#include<climits>
#include<cctype>
#include<cstring>
#include<cmath>
using namespace std;
#define loop(i,a,b) for(int i=a; i<b; i++)
#define PII pair<int,int>
#define FF first
#define SS second
#define ll long long
int main()
{
std::ios_base::sync_with_stdio(false);
std::cin.tie(0);
std::cout.tie(0);
int t;
cin >> t;
while(t--)
{
ll n, s, arr[20005];
cin >> n >> s;
loop(i,0,n)
cin >> arr[i];
sort(arr, arr+n);
ll dp[20005];
dp[0] = arr[0];
loop(i,1,n)
dp[i] = dp[i-1]+arr[i];
ll lo = 0, hi = n-1, x;
while(lo<hi)
{
ll mid = (lo+hi+1)/2;
ll ans = arr[mid]*(n-mid)+ (mid>0? dp[mid-1] : 0);
if(ans > s)
hi = mid-1;
else
lo = mid;
}
if(arr[lo]*(n-lo)+ (lo>0? dp[lo-1] : 0) == s)
cout << arr[lo] << endl;
else
cout << "-1\n";
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNzdGRpbz4KI2luY2x1ZGU8c3RyaW5nPgojaW5jbHVkZTx2ZWN0b3I+CiNpbmNsdWRlPHNldD4KI2luY2x1ZGU8dW5vcmRlcmVkX3NldD4KI2luY2x1ZGU8bWFwPgojaW5jbHVkZTx1bm9yZGVyZWRfbWFwPgojaW5jbHVkZTxxdWV1ZT4KI2luY2x1ZGU8c3RhY2s+CiNpbmNsdWRlPGxpc3Q+CiNpbmNsdWRlPGlvbWFuaXA+CiNpbmNsdWRlPHV0aWxpdHk+CiNpbmNsdWRlPGJpdHNldD4KI2luY2x1ZGU8YWxnb3JpdGhtPgojaW5jbHVkZTxjbGltaXRzPgojaW5jbHVkZTxjY3R5cGU+CiNpbmNsdWRlPGNzdHJpbmc+CiNpbmNsdWRlPGNtYXRoPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIGxvb3AoaSxhLGIpIGZvcihpbnQgaT1hOyBpPGI7IGkrKykKI2RlZmluZSBQSUkgcGFpcjxpbnQsaW50PgojZGVmaW5lIEZGIGZpcnN0CiNkZWZpbmUgU1Mgc2Vjb25kCiNkZWZpbmUgbGwgbG9uZyBsb25nCgppbnQgbWFpbigpCnsKCXN0ZDo6aW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CglzdGQ6OmNpbi50aWUoMCk7CglzdGQ6OmNvdXQudGllKDApOwoJaW50IHQ7CgljaW4gPj4gdDsKCXdoaWxlKHQtLSkKCXsKCQlsbCBuLCBzLCBhcnJbMjAwMDVdOwoJCWNpbiA+PiBuID4+IHM7CgkJbG9vcChpLDAsbikKICAgICAgICAgICAgY2luID4+IGFycltpXTsKICAgICAgICBzb3J0KGFyciwgYXJyK24pOwogICAgICAgIGxsIGRwWzIwMDA1XTsKICAgICAgICBkcFswXSA9IGFyclswXTsKICAgICAgICBsb29wKGksMSxuKQogICAgICAgICAgICBkcFtpXSA9IGRwW2ktMV0rYXJyW2ldOwogICAgICAgIGxsIGxvID0gMCwgaGkgPSBuLTEsIHg7CiAgICAgICAgd2hpbGUobG88aGkpCiAgICAgICAgewogICAgICAgICAgICBsbCBtaWQgPSAobG8raGkrMSkvMjsKICAgICAgICAgICAgbGwgYW5zID0gYXJyW21pZF0qKG4tbWlkKSsgKG1pZD4wPyBkcFttaWQtMV0gOiAwKTsKICAgICAgICAgICAgaWYoYW5zID4gcykKICAgICAgICAgICAgICAgIGhpID0gbWlkLTE7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGxvID0gbWlkOwogICAgICAgIH0KICAgICAgICBpZihhcnJbbG9dKihuLWxvKSsgKGxvPjA/IGRwW2xvLTFdIDogMCkgPT0gcykKICAgICAgICAgICAgY291dCA8PCBhcnJbbG9dIDw8IGVuZGw7CiAgICAgICAgZWxzZQogICAgICAgICAgICBjb3V0IDw8ICItMVxuIjsKCX0KCXJldHVybiAwOwp9Cg==