#include <bits/stdc++.h>
using namespace std;
#define ll long long int
bool cmp(vector<ll> a, vector<ll> b)
{
    return a[0] > b[0];
}

bool sortfirst(pair<ll, char> a, pair<ll, char> b)
{
    return a.first > b.first;
}
ll gcd(ll a, ll b)
{
    if (b == 0)
        return a;
    return gcd(b, a % b);
}

ll lcm(ll a, ll b)
{
    return (a / gcd(a, b)) * b;
}
bool isPowerOfTwo(ll n)
{
    if (n == 0)
        return false;

    return (ceil(log2(n)) == floor(log2(n)));
}
//ll a[100010];
double sumOfGP(double a, double r, ll n)
{
    double sum = 0;
    for (ll i = 0; i < n; i++)
    {
        sum = sum + a;
        a = a * r;
    }
    return sum;
}
bool check(string s)
{
    stack<char> st;
    for (ll i = 0; i < s.length(); i++)
    {
        if (s[i] == '(')
            st.push('(');
        else
        {
            if (st.empty())
            {
                return false;
            }
            else
                st.pop();
        }
    }
    if (st.empty())
        return true;
    else
        return false;
}
ll mod = 1e9 + 7;
bool iszero(string a)
{
    for (ll i = 0; i < a.length(); i++)
    {
        if (a[i] == '1')
            return false;
    }
    return true;
}
ll fac(ll n)
{
    if (n <= 0)
        return 1;
    return (n * fac(n - 1)) % mod;
}
ll calSumGP(ll a, ll r, ll n)
{
    ll sum = 0, temp = a % mod;

    for (ll i = 1; i < n; i++)
    {
        sum = sum + temp;
        temp = (temp * r) % mod;
    }
    return sum % mod;
}
bool checksort(ll a[], ll n)
{
    for (ll i = 1; i < n; i++)
    {
        if (a[i] < a[i - 1])
            return false;
    }
    return true;
}
ll mxN = 1e6 + 5;
bool checksq(ll n)
{
    ll t = sqrt(n);
    if (t * t == n)
        return true;
    return false;
}
ll rec(ll a[], ll n, ll i, ll sum)
{
    ll mx = 0;
    sum += a[i];
    if (i + 1 < n && sum >= 0)
    {
        for (ll k = i + 1; k < n; k++)
        {
            if (k < n && sum + a[k] >= 0)
                mx = max(mx, (1 + rec(a, n, k, sum)));
        }
    }
    return mx;
}
void solve()
{
    ll t;
    cin >> t;
    while (t--)
    {
        ll n, a, b;
        cin >> n >> a >> b;
        ll f = 0;
        for (ll i = 0; i <= 34; i++)
        {
            ll x = n - pow(a, i); 
            if(x<0) 
             break;
            if (x % b == 0)
            {
                f = 1;
                break;
            }
        }
        if (f)
            cout << "Yes" << '\n';
        else
            cout << "No" << '\n';
    }
}
int main()
{
    solve();
    return 0;
}
