F=[1]*100003 L=[] for i in range(2,100001): if F[i]^1: continue L.append(i) for j in range(i*2,i,100001): F[j]=0 def BG(X,Y,M): D=dict() D[1]=0 S=int(M**0.5)+1 Z=1 for i in range(1,S+1): Z=Z*X%M D[Z]=i if D.get(Y,-1)!=-1: if D[Y]: return D[Y] R=pow(Z,M-2,M) for i in range(1,S+1): Y=Y*R%M if D.get(Y,-1)!=-1: return D[Y]+i*S return -1 def solve(): V,X=map(int,input().split()) P=V*X+1 Y=0 for i in range(len(L)): x=BG(L[i],1,P) if x%X==0: Y=pow(L[i],x//X,P) break A=[1] for i in range(X-1): A.append(A[i]*Y%P) A.sort() for k in range(1,X+1): Z=0 for i in range(X): Z+=pow(A[i],k,P) print(*A) for i in range(int(input())): solve()