//shan61916
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull ;
typedef double dll ;
#define mp make_pair
#define pb push_back
#define ff first
#define ss second
#define IOS ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define endl "\n"
#define pll pair<ll, ll>
#define all(x) x.begin(), x.end()
#define vll vector<ll>
const ll inf = (ll)(1e17 + 17);
const ll mod = (ll)(1e9 + 7);
int main(){
IOS
#ifdef SHAN
freopen("input.txt" , "r" , stdin);
#endif
ll T;
cin >> T;
while(T--) {
ll n, k;
cin >> n >> k;
map<ll, ll> key;
vll a(n);
for(ll i = 0; i < n; i++) {
cin >> a[i];
key[a[i]]++;
}
set<pll, greater<pll>> st;
ll extra = 0;
for(ll i = 0; i < n; i++) {
st.insert(mp(key[a[i]], a[i]));
}
bool foo = true;
while(k > 0 and foo) {
pll gv = *st.begin();
if(gv.ff == 1) foo = false;
st.erase(st.begin());
k--;
gv.ff--;
extra++;
st.insert(gv);
}
ll ans = ((extra)*(extra-1))/2;
ll tot = extra;
for(auto it: st) {
ll xx = it.ff;
ans+= (xx)*(tot);
tot+= xx;
}
cout << ans << endl;
}
return 0;
} //good night.
ICAvL3NoYW42MTkxNgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KICB1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmICAgbG9uZyBsb25nIGxsOwp0eXBlZGVmICAgdW5zaWduZWQgbG9uZyBsb25nIHVsbCA7CnR5cGVkZWYgICBkb3VibGUgZGxsIDsKCiNkZWZpbmUgICBtcCBtYWtlX3BhaXIKI2RlZmluZSAgIHBiIHB1c2hfYmFjawojZGVmaW5lICAgZmYgZmlyc3QgCiNkZWZpbmUgICBzcyBzZWNvbmQKI2RlZmluZSAgIElPUyBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7Y2luLnRpZShOVUxMKTtjb3V0LnRpZShOVUxMKTsKI2RlZmluZSAgIGVuZGwgIlxuIiAKI2RlZmluZSAgIHBsbCBwYWlyPGxsLCBsbD4KI2RlZmluZSAgIGFsbCh4KSB4LmJlZ2luKCksIHguZW5kKCkKI2RlZmluZSAgIHZsbCB2ZWN0b3I8bGw+ICAKCmNvbnN0IGxsIGluZiA9IChsbCkoMWUxNyArIDE3KTsKY29uc3QgbGwgbW9kID0gKGxsKSgxZTkgKyA3KTsKCgppbnQgbWFpbigpewogSU9TCiNpZmRlZiBTSEFOCiAgICBmcmVvcGVuKCJpbnB1dC50eHQiICwgInIiICwgc3RkaW4pOyAgCiNlbmRpZgogIGxsIFQ7CiAgY2luID4+IFQ7CiAgd2hpbGUoVC0tKSB7CiAgIGxsIG4sIGs7CiAgIGNpbiA+PiBuID4+IGs7CiAgIG1hcDxsbCwgbGw+IGtleTsKICAgdmxsIGEobik7CiAgIGZvcihsbCBpID0gMDsgaSA8IG47IGkrKykgewogICAgY2luID4+IGFbaV07CiAgICBrZXlbYVtpXV0rKzsKICAgfQogICBzZXQ8cGxsLCBncmVhdGVyPHBsbD4+IHN0OwogICBsbCBleHRyYSA9IDA7CiAgIGZvcihsbCBpID0gMDsgaSA8IG47IGkrKykgewogICAgc3QuaW5zZXJ0KG1wKGtleVthW2ldXSwgYVtpXSkpOwogICB9CiAgIGJvb2wgZm9vID0gdHJ1ZTsKICAgd2hpbGUoayA+IDAgYW5kIGZvbykgewogICAgcGxsIGd2ID0gKnN0LmJlZ2luKCk7CiAgICBpZihndi5mZiA9PSAxKSBmb28gPSBmYWxzZTsKICAgIHN0LmVyYXNlKHN0LmJlZ2luKCkpOwogICAgay0tOwogICAgZ3YuZmYtLTsKICAgIGV4dHJhKys7CiAgICBzdC5pbnNlcnQoZ3YpOwogICB9CiAgIGxsIGFucyA9ICgoZXh0cmEpKihleHRyYS0xKSkvMjsgCiAgIGxsIHRvdCA9IGV4dHJhOwogICBmb3IoYXV0byBpdDogc3QpIHsKICAgIGxsIHh4ID0gaXQuZmY7CiAgICBhbnMrPSAoeHgpKih0b3QpOwogICAgdG90Kz0geHg7CiAgIH0KICAgY291dCA8PCBhbnMgPDwgZW5kbDsKICB9CiAgcmV0dXJuIDA7Cn0gLy9nb29kIG5pZ2h0Lg==