T=int(input()) M=998 for _ in range(T): n,m=map(int,input().split()) p=[1] d={1:0} while 1: np=p[-1]*n%M if np in d: l=d[np] break d[np]=len(p) p+=[np] pa=p[:l] pb=p[l:] for i in range(1,len(pa)): pa[i]+=pa[i-1] pa[i]%=M for i in range(1,len(pb)): pb[i]+=pb[i-1] pb[i]%=M for i in range(m): k=int(input())+1 if k<=len(pa): print(pa[k-1]%M) continue a=pa[-1] if len(pa)>0 else 0 k-=len(pa) p2=k%len(pb) p4=(k//len(pb))%M a+=pb[-1]*p4 if p2!=0: a+=pb[p2-1] print(a%M)