#include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef pair Pii; const ll mod = 998244353; ll modpow(ll a, ll b, ll m = mod) { ll r = 1; while (b > 0) { if (b & 1) r = (r * a) % m; a = (a * a) % m; b >>= 1; } return r; } int main() { cin.tie(0); ios::sync_with_stdio(false); int t; cin >> t; vector a(t), b(t), k(t); for (int i = 0; i < t; i++) { cin >> a[i] >> b[i] >> k[i]; } vector ans(t); for (int i = 0; i < t; i++) { if (a[i] == 0) { ans[i] = 0; } else if (a[i] > 0) { if (b[i] >= 2) { ans[i] = (a[i] * modpow(b[i], k[i] - 1)) % mod; } else if (-1 <= b[i] && b[i] <= 1) { ans[i] = (a[i] * k[i]) % mod; } else { if (k[i] % 2 != 0) { ans[i] = (a[i] * modpow(abs(b[i]), k[i] - 1)) % mod; } else { ans[i] = (a[i] * 2 * modpow(abs(b[i]), k[i] - 2)) % mod; } } } else { if (b[i] >= 0) { ans[i] = 0; } else if (b[i] == -1) { ans[i] = (abs(a[i]) * (k[i] - 1)) % mod; } else { if (k[i] == 1) { ans[i] = 0; } else if (k[i] % 2 == 0) { ans[i] = (abs(a[i]) * modpow(abs(b[i]), k[i] - 1)) % mod; } else { ans[i] = (abs(a[i]) * 2 * modpow(abs(b[i]), k[i] - 2)) % mod; } } } } for (auto &x: ans) cout << x << endl; return 0; }