#include using namespace std; void chmin(int64_t& a, int64_t b){ a = min(a, b); }; int main(){ int Q; cin >> Q; while(Q--){ int64_t A, B, C; cin >> A >> B >> C; if(C == 1){ cout << -1 << endl; continue; } vector nums; while(A){ nums.push_back(A%C); A /= C; } reverse(nums.begin(), nums.end()); int sz = nums.size(); vector dp(sz+1, 1e9); dp[0] = 0; for(int i=0; i 0)); if(i < sz-1){ int64_t V = nums[i] * C + nums[i+1]; chmin(dp[i+2], dp[i] + (i ? 2 : 0) + (V+C-2)/(C-1)); } } int64_t ans = dp[sz] * B; cout << ans << endl; } return 0; }