#include <bits/stdc++.h>
using namespace std;
#define int long long
#define f(i, b) for (int(i) = 0; (i) < (b); (i)++)
#define fa(i, a, b) for (int(i) = (a); (i) < (b); (i)++)
#define fd(i, a, b) for (int(i) = (a); (i) >= (b); (i)--)
#define ft(i, s) for (auto i = s.begin(); i != s.end(); i++)
#define IOS ios::sync_with_stdio(0);cin.tie(0);
#define ff first
#define ss second
#define inp(a) f(i, a.size()) { cin >> a[i]; }
#define pb push_back
#define mp make_pair
#define MAX 1e9
#define endl '\n'
#define setb(x) __builtin_popcountll(x)
#define msb(x) (64 - __builtin_clzll(x))
#define rb(n) (n & (-n))
#define rbm(n) (n & (n - 1))
#define vec vector<int>
#define all(x) x.begin(), x.end()
#define sortd(x) sort(all(x), greater<int>());
#define sorta(x) sort(all(x));
#define mid (l + (r - l) / 2)
const int mod = 1e9+7;
int minvec(vec v) {int m = v[0];int ind = 0;f(i, v.size()){if (v[i] < m){m = v[i];ind = i;}}return ind;}
int maxvec(vec v) {int m = v[0];int ind = 0;f(i, v.size()){if (v[i] > m){m = v[i];ind = i;}}return ind;}
void yn(int val){if (val != 0){cout << "YES" << endl;}else{cout << "NO" << endl;}}
int cl(int x, int y){if (x % y == 0){return x / y;}else{return x / y + 1;}}
void pr(vec &x){f(i, x.size()){cout << x[i] << " ";}cout << endl;}
//cout << setprecision(15) << f << endl;
int gcd(int a, int b){if (b == 0)return a;a %= b;return gcd(b, a);}

int mpow(int x, int n){
  int ans = 1;
  while(n){
    if(n&1){
      ans=(ans*x)%mod;
    }
    x=(x*x)%mod;
    n=n>>1;
  }
  return ans;
}

int func(int n, int a, int b){
    if(n<1)
        return 0;
    if(n==1)
        return 1;
    if(n%a==0)
    return func(n/a,a,b) || func(n-b,a,b);
    else return func(n-b,a,b);
}

void solve()
{
    int n,a,b;
    cin>>n>>a>>b;
    if(a==1){
        yn((n-1)%b==0);
        return;
    }
    else if(b==0){
        yn(n%a==0);
        return;
    }
    int curr = 1;
    while(curr<=n){
        if((n-curr)%b==0){
            yn(1);
            return;
        }
        curr*=a;
    }
    yn(0);
}

signed main()
{
    IOS int t;
    // t=1;
    cin >> t;
    for (int loop = 0; loop < t; loop++)
        solve();
    return 0;
}