#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define flow ios_base::sync_with_stdio(false);cin.tie(NULL);
int main()
{
flow;
ll t,l,r,mid;ll cur,target;cin>>t;
for(int query=1;query<=t;query++)
{
ll w;ll n;cin>>w>>n;ll ans=LONG_MAX;
ll a[w];
for(int i=0;i<w;i++)cin>>a[i];
sort(a,a+w);
ll pfx[w];
for(int i=0;i<w;i++)pfx[i]=0;
pfx[0]=a[0];
for(int i=1;i<w;i++)pfx[i]=pfx[i-1]+a[i];
for(int i=0;i<w;i++)
{
l=i+1;r=w-1;target=a[i];
while(l<=r)
{
mid=(l+r)/2;
cur=a[mid];
if((cur-target)>=(n+target-cur))r=mid-1;
else l=mid+1;
}
ll bb=(l-i-1);
ll frwrd=(w-l);
ll cost2=abs(a[i]*bb-(pfx[l-1]-pfx[i]))+abs(frwrd*(n+a[i])-(pfx[w-1]-pfx[l-1]));
//ll bb=r-i; ALTERNATE
//ll frwrd=(w-r-1);
//ll cost2=abs(a[i]*bb-(pfx[r]-pfx[i]))+abs(frwrd*(n+a[i])-(pfx[w-1]-pfx[r]));
l=0;r=i-1;
while(l<=r)
{
mid=(l+r)/2;
cur=a[mid];
if((target-cur)>=(n-target+cur))l=mid+1;
else r=mid-1;
}
ll inc=i-1;
ll dec=l;
ll cost1=abs(inc*a[i]-(pfx[i-1]-((l>=1)?pfx[l-1]:0)))+abs(dec*(n-a[i])+((l>=1)?pfx[l-1]:0));
ans=min(ans,cost1+cost2);
}
cout<<"Case #"<<query<<": "<<ans<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcgaW50CiNkZWZpbmUgZmxvdyBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTtjaW4udGllKE5VTEwpOwppbnQgbWFpbigpCnsKICAgIGZsb3c7CiAgICBsbCB0LGwscixtaWQ7bGwgY3VyLHRhcmdldDtjaW4+PnQ7CiAgICBmb3IoaW50IHF1ZXJ5PTE7cXVlcnk8PXQ7cXVlcnkrKykKICAgIHsKICAgICAgICBsbCB3O2xsIG47Y2luPj53Pj5uO2xsIGFucz1MT05HX01BWDsKICAgICAgICBsbCBhW3ddOwogICAgICAgIGZvcihpbnQgaT0wO2k8dztpKyspY2luPj5hW2ldOwogICAgICAgIHNvcnQoYSxhK3cpOwogICAgICAgIGxsIHBmeFt3XTsKICAgICAgICBmb3IoaW50IGk9MDtpPHc7aSsrKXBmeFtpXT0wOwogICAgICAgIHBmeFswXT1hWzBdOwogICAgICAgIGZvcihpbnQgaT0xO2k8dztpKyspcGZ4W2ldPXBmeFtpLTFdK2FbaV07CiAgICAgICAgZm9yKGludCBpPTA7aTx3O2krKykKICAgICAgICB7CiAgICAgICAgICAgIGw9aSsxO3I9dy0xO3RhcmdldD1hW2ldOwogICAgICAgICAgICB3aGlsZShsPD1yKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBtaWQ9KGwrcikvMjsKICAgICAgICAgICAgICAgIGN1cj1hW21pZF07CiAgICAgICAgICAgICAgICBpZigoY3VyLXRhcmdldCk+PShuK3RhcmdldC1jdXIpKXI9bWlkLTE7CiAgICAgICAgICAgICAgICBlbHNlIGw9bWlkKzE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbGwgYmI9KGwtaS0xKTsKICAgICAgICAgICAgbGwgZnJ3cmQ9KHctbCk7CiAgICAgICAgICAgIGxsIGNvc3QyPWFicyhhW2ldKmJiLShwZnhbbC0xXS1wZnhbaV0pKSthYnMoZnJ3cmQqKG4rYVtpXSktKHBmeFt3LTFdLXBmeFtsLTFdKSk7CiAgICAgICAgICAgIC8vbGwgYmI9ci1pOyAgICAgICAgICAgICAgIEFMVEVSTkFURQogICAgICAgICAgICAvL2xsIGZyd3JkPSh3LXItMSk7CiAgICAgICAgICAgIC8vbGwgY29zdDI9YWJzKGFbaV0qYmItKHBmeFtyXS1wZnhbaV0pKSthYnMoZnJ3cmQqKG4rYVtpXSktKHBmeFt3LTFdLXBmeFtyXSkpOwogICAgICAgICAgICBsPTA7cj1pLTE7CiAgICAgICAgICAgIHdoaWxlKGw8PXIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG1pZD0obCtyKS8yOwogICAgICAgICAgICAgICAgY3VyPWFbbWlkXTsKICAgICAgICAgICAgICAgIGlmKCh0YXJnZXQtY3VyKT49KG4tdGFyZ2V0K2N1cikpbD1taWQrMTsKICAgICAgICAgICAgICAgIGVsc2Ugcj1taWQtMTsKICAgICAgICAgICAgfQogICAgICAgICAgICBsbCBpbmM9aS0xOwogICAgICAgICAgICBsbCBkZWM9bDsKICAgICAgICAgICAgbGwgY29zdDE9YWJzKGluYyphW2ldLShwZnhbaS0xXS0oKGw+PTEpP3BmeFtsLTFdOjApKSkrYWJzKGRlYyoobi1hW2ldKSsoKGw+PTEpP3BmeFtsLTFdOjApKTsKICAgICAgICAgICAgYW5zPW1pbihhbnMsY29zdDErY29zdDIpOwogICAgICAgIH0KICAgICAgICBjb3V0PDwiQ2FzZSAjIjw8cXVlcnk8PCI6ICI8PGFuczw8ZW5kbDsKICAgIH0KfQo=