p=998244353 def decomp(num,base): result=[] while num: num,res=divmod(num,base) result.append(res) return result[::-1] for _ in range(int(input())): n,a=map(int,input().split()) if a==1: print((n*(n-1)//2)%p) continue coeffs=decomp(n,a) answer=0 tmp=0 for i in range(len(coeffs)): upper=n//a**(len(coeffs)-i-1) constant=upper+sum(coeffs[i+1:])+len(coeffs)-i-1 answer+=constant*(upper-tmp)-upper*(upper+1)//2+tmp*(tmp+1)//2 answer%=p tmp=upper print(answer)