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)