#include<bits/stdc++.h>
using namespace std;
int find(int arr[],int p,int q,int k)
{
if(q==p)
return arr[p];
if(q==p+1)
return (arr[q]-(arr[p]-k));
else
{
arr[q]--;
arr[p]--;
if(arr[p]>k)
{ sort(arr+p,arr+q+1);
return find(arr,p,q,k);
}
if(arr[p]==k)
{ sort(arr+p+1,arr+q+1);
return find(arr,p+1,q,k);
}
}
}
int main()
{
int q, n, sum, i, j, k,count,x;
int arr[100000];
cin >> q;
while(q--){
count=0;
cin >> n >> k;
for(i=0;i<n;i++)
cin >> arr[i];
if(n==1)
{ cout<<arr[0]<<"\n";
continue;
}
sort(arr, arr+n);
j=0;
for(i=0;i<n;i++){
if(arr[i]<=k)
j++;
else
break;
}
sum=0;
for(i=0;i<j;i++)
sum+=arr[i];
if(j==n)
{ cout<<sum<<"\n";
continue;
}
if(j==n-1)
{ cout<<sum+arr[n-1]<<"\n";
continue;
}
for(i=j;i<n-1;i++)
{ sum+=k;
count+=arr[i]-k;
}
x=find(arr,j,n-2,k);
//cout<<"x="<<x<<"\n";
cout<<sum+arr[n-1]-(x-k)<<"\n";
//cout << sum+arr[n-1] << "\n";
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBmaW5kKGludCBhcnJbXSxpbnQgcCxpbnQgcSxpbnQgaykKewoJCglpZihxPT1wKQoJICByZXR1cm4gYXJyW3BdOwoJaWYocT09cCsxKQoJICByZXR1cm4gKGFycltxXS0oYXJyW3BdLWspKTsKCWVsc2UKCSAgeyAKCSAgICBhcnJbcV0tLTsKCSAgICBhcnJbcF0tLTsKCSAgICBpZihhcnJbcF0+aykKCSAgICAgIHsgc29ydChhcnIrcCxhcnIrcSsxKTsKCSAgICAgICAgcmV0dXJuIGZpbmQoYXJyLHAscSxrKTsKCQkgIH0KCQlpZihhcnJbcF09PWspCgkJICB7IHNvcnQoYXJyK3ArMSxhcnIrcSsxKTsKCQkgICAgcmV0dXJuIGZpbmQoYXJyLHArMSxxLGspOwoJCSAgfQoJCgkgIH0KCQp9CgppbnQgbWFpbigpCnsKICAgIGludCBxLCBuLCBzdW0sIGksIGosIGssY291bnQseDsKICAgIGludCBhcnJbMTAwMDAwXTsKICAgIGNpbiA+PiBxOwogICAgd2hpbGUocS0tKXsKICAgIAljb3VudD0wOwogICAgICAgIGNpbiA+PiBuID4+IGs7CiAgICAgICAgZm9yKGk9MDtpPG47aSsrKQogICAgICAgICAgICBjaW4gPj4gYXJyW2ldOwogICAgICAgIGlmKG49PTEpCiAgICAgICAgICB7IGNvdXQ8PGFyclswXTw8IlxuIjsKICAgICAgICAgICAgY29udGludWU7CgkJICB9CiAgICAgICAgc29ydChhcnIsIGFycituKTsKICAgICAgICBqPTA7CiAgICAgICAgZm9yKGk9MDtpPG47aSsrKXsKICAgICAgICAgICAgaWYoYXJyW2ldPD1rKQogICAgICAgICAgICAgICAgaisrOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgc3VtPTA7CiAgICAgICAgZm9yKGk9MDtpPGo7aSsrKQogICAgICAgICAgICBzdW0rPWFycltpXTsKICAgICAgICBpZihqPT1uKQogICAgICAgICAgeyBjb3V0PDxzdW08PCJcbiI7CiAgICAgICAgICAgIGNvbnRpbnVlOwoJCSAgfQoJCWlmKGo9PW4tMSkKCQkgIHsgY291dDw8c3VtK2FycltuLTFdPDwiXG4iOwoJCSAgICBjb250aW51ZTsKCQkgIH0KICAgICAgICBmb3IoaT1qO2k8bi0xO2krKykKCQkgIHsgc3VtKz1rOwogICAgICAgICAgICBjb3VudCs9YXJyW2ldLWs7CiAgICAgICAgICB9CiAgICAgICAgCiAgICAgICAgeD1maW5kKGFycixqLG4tMixrKTsKICAgICAgICAvL2NvdXQ8PCJ4PSI8PHg8PCJcbiI7CiAgICAgICAgY291dDw8c3VtK2FycltuLTFdLSh4LWspPDwiXG4iOwogICAgICAgIAogICAgICAgIC8vY291dCA8PCBzdW0rYXJyW24tMV0gPDwgIlxuIjsKICAgIH0KICByZXR1cm4gMDsKfQ==
MQo1MCAxMwoxNTAwMCA0NzAwMCA3ODk2IDI1NDAwIDYwMDAgMTIzNjAgMjU0NzAgMjU0NzggMjM1MDAgNDU3ODAgMTUwMDAgNDcwMDAgNzg5NiAyNTQwMCA2MDAwIDEyMzYwIDI1NDcwIDI1NDc4IDIzNTAwIDQ1NzgwIDE1MDAwIDQ3MDAwIDc4OTYgMjU0MDAgNjAwMCAxMjM2MCAyNTQ3MCAyNTQ3OCAyMzUwMCA0NTc4MCAxNTAwMCA0NzAwMCA3ODk2IDI1NDAwIDYwMDAgMTIzNjAgMjU0NzAgMjU0NzggMjM1MDAgNDU3ODA=
1
50 13
15000 47000 7896 25400 6000 12360 25470 25478 23500 45780 15000 47000 7896 25400 6000 12360 25470 25478 23500 45780 15000 47000 7896 25400 6000 12360 25470 25478 23500 45780 15000 47000 7896 25400 6000 12360 25470 25478 23500 45780