import sys
input = sys.stdin.readline

from heapq import heappop,heappush

T=int(input())

for tests in range(T):
    n,k=map(int,input().split())
    A=list(map(int,input().split()))

    SUM=sum(A)

    if SUM%k!=0:
        print(-1)
        continue

    flag=1
    for a in A:
        if a%k!=0:
            flag=0
            break

    if flag:
        print(0)
        continue

    A2=[]
    for a in A:
        if a!=0:
            A2.append(a)

    A=A2
    n=len(A)

    if n<k:
        print(-1)
        continue

    if n==k:
        B=[a%k for a in A]
        x=B[0]

        flag=1

        for b in B:
            if x!=b:
                flag=0
                break

        if flag:
            print(x)
        else:
            print(-1)
        continue

    B=[]
    C=[]
    SUM=0
    MAX=0

    for a in A:
        if a>=k:
            B.append((a%k,a//k))
        else:
            C.append(a)

        SUM+=a%k
        MAX=max(MAX,a%k)

    if MAX<=SUM//k:
        print(SUM//k)
        continue

    B.sort()

    ANS=-1

    while B:
        x,com=heappop(B)
        if com==0:
            continue

        MAX=max(MAX,x+k)
        SUM+=k
        heappush(B,(x+k,com-1))

        if MAX<=SUM//k:
            ANS=SUM//k
            break

    print(ANS)