def solve():
#General input section
inp = input()
n = int(inp.split(' ')[0])
k = int(inp.split(' ')[1])
x = int(inp.split(' ')[2])
arr = []
inp = input()
rng = 1000000000
mn = rng + 2
for e in inp.split(' '):
arr.append(int(e))
#General input section END
#Step1: Find minimum of the array
mn = min(arr)
#Step2: Find the maximum term for p array in question
max_term = mn + x
if max_term > rng:
max_term = rng
#Step 3:
#I have to explain what I did after this
#Let's say max_term = 50, n = 10, k = 3
#arr = 11,26,58
#then I tried
#to find sum of digits from 44-50
#which can be written as (1+2+3+..+50)-(1+2+3+..+43)
max_sum = int(((max_term)*(max_term+1))/2)
min_term = (max_term-(n-k))
min_sum = int(((min_term)*(min_term+1))/2)
sm = max_sum-min_sum
#Setting last included term to 44, as till now it was 43
#as of example i gave
min_term += 1
#Just sorting the array
arr.sort()
i = k-1
while i >= 0:
#If a given number is greater,equal to min_term
#this means, it is already added
#so decrease min_terms to a level it is not included
if arr[i] >= min_term:
min_term -= 1
while min_term in arr:
min_term -= 1
sm += min_term
else:
sm += arr[i]
i -= 1
# print (mn)
print (int(sm))
t = int(input())
for i in range(t):
solve()
ZGVmIHNvbHZlKCk6CiAgICAjR2VuZXJhbCBpbnB1dCBzZWN0aW9uCiAgICBpbnAgPSBpbnB1dCgpCiAgICBuID0gaW50KGlucC5zcGxpdCgnICcpWzBdKQogICAgayA9IGludChpbnAuc3BsaXQoJyAnKVsxXSkKICAgIHggPSBpbnQoaW5wLnNwbGl0KCcgJylbMl0pCiAgICBhcnIgPSBbXQogICAgaW5wID0gaW5wdXQoKQogICAgcm5nID0gMTAwMDAwMDAwMAogICAgbW4gPSBybmcgKyAyCiAgICBmb3IgZSBpbiBpbnAuc3BsaXQoJyAnKToKICAgICAgICBhcnIuYXBwZW5kKGludChlKSkKICAgICNHZW5lcmFsIGlucHV0IHNlY3Rpb24gRU5ECiAgICAjU3RlcDE6IEZpbmQgbWluaW11bSBvZiB0aGUgYXJyYXkKICAgIG1uID0gbWluKGFycikKICAgICNTdGVwMjogRmluZCB0aGUgbWF4aW11bSB0ZXJtIGZvciBwIGFycmF5IGluIHF1ZXN0aW9uCiAgICBtYXhfdGVybSA9IG1uICsgeAogICAgaWYgbWF4X3Rlcm0gPiBybmc6CiAgICAgICAgbWF4X3Rlcm0gPSBybmcKICAgICNTdGVwIDM6CiAgICAjSSBoYXZlIHRvIGV4cGxhaW4gd2hhdCBJIGRpZCBhZnRlciB0aGlzCiAgICAjTGV0J3Mgc2F5IG1heF90ZXJtID0gNTAsIG4gPSAxMCwgayA9IDMKICAgICNhcnIgPSAxMSwyNiw1OAogICAgI3RoZW4gSSB0cmllZCAKICAgICN0byBmaW5kIHN1bSBvZiBkaWdpdHMgZnJvbSA0NC01MAogICAgI3doaWNoIGNhbiBiZSB3cml0dGVuIGFzICgxKzIrMysuLis1MCktKDErMiszKy4uKzQzKQogICAgCiAgICBtYXhfc3VtID0gaW50KCgobWF4X3Rlcm0pKihtYXhfdGVybSsxKSkvMikKICAgIG1pbl90ZXJtID0gKG1heF90ZXJtLShuLWspKQogICAgbWluX3N1bSA9IGludCgoKG1pbl90ZXJtKSoobWluX3Rlcm0rMSkpLzIpCiAgICBzbSA9IG1heF9zdW0tbWluX3N1bQogICAgI1NldHRpbmcgbGFzdCBpbmNsdWRlZCB0ZXJtIHRvIDQ0LCBhcyB0aWxsIG5vdyBpdCB3YXMgNDMKICAgICNhcyBvZiBleGFtcGxlIGkgZ2F2ZQogICAgbWluX3Rlcm0gKz0gMQogICAgI0p1c3Qgc29ydGluZyB0aGUgYXJyYXkKICAgIGFyci5zb3J0KCkKICAgIGkgPSBrLTEKICAgIHdoaWxlIGkgPj0gMDoKICAgICAgICAjSWYgYSBnaXZlbiBudW1iZXIgaXMgZ3JlYXRlcixlcXVhbCB0byBtaW5fdGVybQogICAgICAgICN0aGlzIG1lYW5zLCBpdCBpcyBhbHJlYWR5IGFkZGVkCiAgICAgICAgI3NvIGRlY3JlYXNlIG1pbl90ZXJtcyB0byBhIGxldmVsIGl0IGlzIG5vdCBpbmNsdWRlZAogICAgICAgIGlmIGFycltpXSA+PSBtaW5fdGVybToKICAgICAgICAgICAgbWluX3Rlcm0gLT0gMQogICAgICAgICAgICB3aGlsZSBtaW5fdGVybSBpbiBhcnI6CiAgICAgICAgICAgICAgICBtaW5fdGVybSAtPSAxCiAgICAgICAgICAgIHNtICs9IG1pbl90ZXJtCiAgICAgICAgZWxzZToKICAgICAgICAgICAgc20gKz0gYXJyW2ldCiAgICAgICAgaSAtPSAxCiAgICAjIHByaW50IChtbikKICAgIHByaW50IChpbnQoc20pKQoKdCA9IGludChpbnB1dCgpKQpmb3IgaSBpbiByYW5nZSh0KToKICAgIHNvbHZlKCk=