dic = {} a = b = c = 0 def dfs(x): global dic,b,c if x == 0: return 0 if x in dic: return dic[x] c1 = (x+c-2)//(c-1)*b c2 = b+dfs(x//c) if x%c: c2 += b dic[x] = min(c1,c2) return dic[x] def solve(): global dic,a,b,c a,b,c = map(int,input().split()) if c == 1: return -1 dic = {} return dfs(a) q = int(input()) for _ in range(q): print(solve())