rt
#include<bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int T;
cin >> T;
while(T--){
int x,a,b;
cin >> x >> a >> b;
int minn = x;
if((1 - a) * x + b <= 0){
cout << x << '\n';
continue;
}
if(a == 1 && b == 1){
cout << -b << '\n';
continue;
}
if(a == 1 && b == 2){
cout << ((x & 1)?-1:-2) << '\n';
continue;
}
for(;x>=0;){
if(a * x - b >= x || x < 0) break;
x = a * x - b;
minn = min(minn,x);
}
cout << minn << '\n';
}
}
以下代码的a=1的情况是判断不完全的,但是过了。