#include <iostream>
using namespace std;
int main() {
// your code goes here
int t;
cin >> t;
while(t--){
int n;
int Th;
cin >> n;
cin >> Th;
//cout << n<< ' '<<Th<<endl;
int arr[n];
long long int tot = 0;
for(int i=0; i< n; i++){
cin >> arr[i];
//cout <<arr[i]<<' ';
tot += arr[i];
}
//cout<<endl;
long long int diff = tot - Th;
int M_init = diff/n;
int M_init_prev = M_init;
//cout<<"here"<<endl;
if(diff == 0)
cout<<0 <<' '<<0<<endl;
long long int s = 0, s_prev = 0;
if(diff > 0){
for(int i=0; i< n; i++){
s+=(arr[i] > M_init)? arr[i]-M_init : 0;
}
s_prev = s;
while(s >= Th){
M_init_prev = M_init;
M_init++;
s_prev = s;
s=0;
for(int i=0; i< n; i++){
s+=(arr[i] > M_init)? arr[i]-M_init : 0;
}
}
cout<<M_init_prev <<' '<<s_prev<<endl;
}
else if(diff < 0){
for(int i=0; i< n; i++){
s+=arr[i]-M_init;
}
// s_prev = s;
while(s < Th){
// M_init_prev = M_init;
M_init--;
//s_prev = s;
s=0;
for(int i=0; i< n; i++){
s+=arr[i]-M_init;
}
}
cout<<M_init <<' '<<s<<endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglpbnQgdDsKCWNpbiA+PiB0OwoKCXdoaWxlKHQtLSl7CgkgICAgaW50IG47CgkgICAgaW50IFRoOwoJICAgIGNpbiA+PiBuOwoJICAgIGNpbiA+PiBUaDsKCSAgICAvL2NvdXQgPDwgbjw8ICcgJzw8VGg8PGVuZGw7CgoJICAgIGludCBhcnJbbl07CgkgICAgbG9uZyBsb25nIGludCB0b3QgPSAwOwoJICAgIAoJICAgIGZvcihpbnQgaT0wOyBpPCBuOyBpKyspewoJICAgICAgICBjaW4gPj4gYXJyW2ldOwoJICAgICAgICAvL2NvdXQgPDxhcnJbaV08PCcgJzsKCSAgICAgICAgCgkgICAgICAgIHRvdCArPSBhcnJbaV07CgkgICAgfQoJICAgIC8vY291dDw8ZW5kbDsKCSAgICAKCSAgICBsb25nIGxvbmcgaW50IGRpZmYgPSB0b3QgLSBUaDsKCSAgICBpbnQgTV9pbml0ID0gZGlmZi9uOwoJICAgIGludCBNX2luaXRfcHJldiA9IE1faW5pdDsKCSAgICAvL2NvdXQ8PCJoZXJlIjw8ZW5kbDsKCSAgICBpZihkaWZmID09IDApCgkgICAgICAgIGNvdXQ8PDAgPDwnICc8PDA8PGVuZGw7CgkgICAgCgkgICAgbG9uZyBsb25nIGludCBzID0gMCwgc19wcmV2ID0gMDsKCSAgICBpZihkaWZmID4gMCl7CgkgICAgICAgIAoJICAgICAgICAKCSAgICAgICAgCgkgICAgICAgIGZvcihpbnQgaT0wOyBpPCBuOyBpKyspewoJICAgICAgICAgICAgCgkgICAgICAgICAgICBzKz0oYXJyW2ldID4gTV9pbml0KT8gYXJyW2ldLU1faW5pdCA6IDA7CgkgICAgICAgICAgICAKCSAgICAgICAgfQoJICAgICAgICBzX3ByZXYgPSBzOwoJICAgICAgICAKCSAgICAgICAgd2hpbGUocyA+PSBUaCl7CgkgICAgICAgICAgICBNX2luaXRfcHJldiA9IE1faW5pdDsKCSAgICAgICAgICAgIE1faW5pdCsrOwoJICAgICAgICAgICAgc19wcmV2ID0gczsKCSAgICAgICAgICAgIHM9MDsKCSAgICAgICAgICAgIGZvcihpbnQgaT0wOyBpPCBuOyBpKyspewoJICAgICAgICAgICAgCiAgICAJICAgICAgICAgICAgcys9KGFycltpXSA+IE1faW5pdCk/IGFycltpXS1NX2luaXQgOiAwOwogICAgCSAgICAgICAgICAgIAogICAgCSAgICAgICAgfQoJICAgICAgICB9CgkgICAgICAgIAoJICAgICAgIGNvdXQ8PE1faW5pdF9wcmV2IDw8JyAnPDxzX3ByZXY8PGVuZGw7CgkgICAgfSAgICAKCSAgIAoJICAgZWxzZSBpZihkaWZmIDwgMCl7CgkgICAgICAgCgkgICAgICAgCgkgICAgICAgIAoJICAgICAgICBmb3IoaW50IGk9MDsgaTwgbjsgaSsrKXsKCSAgICAgICAgICAgIAoJICAgICAgICAgICAgcys9YXJyW2ldLU1faW5pdDsKCSAgICAgICAgICAgIAoJICAgICAgICB9CgkgICAgICAgLy8gc19wcmV2ID0gczsKCSAgICAgICAgd2hpbGUocyA8IFRoKXsKCSAgICAgICAgICAgLy8gTV9pbml0X3ByZXYgPSBNX2luaXQ7CgkgICAgICAgICAgICBNX2luaXQtLTsKCSAgICAgICAgICAgIC8vc19wcmV2ID0gczsKCSAgICAgICAgICAgIHM9MDsKCSAgICAgICAgICAgIGZvcihpbnQgaT0wOyBpPCBuOyBpKyspewoJICAgICAgICAgICAgCiAgICAJICAgICAgICAgICAgcys9YXJyW2ldLU1faW5pdDsKICAgIAkgICAgICAgICAgICAKICAgIAkgICAgICAgIH0KCSAgICAgICAgfQoJICAgICAgICBjb3V0PDxNX2luaXQgPDwnICc8PHM8PGVuZGw7CgkgICAgfQoJICAgIAoJICAgIAoJICAgIAoJfQoJcmV0dXJuIDA7Cn0K