#include using namespace std; #include using namespace atcoder; using ll = long long; [[maybe_unused]] constexpr ll INF = (1LL << 60) - 1; using mint = modint998244353; void solve() { ll a, b, k; cin >> a >> b >> k; mint ans; if (b > 1) { if (a > 0) { ans = a * mint(b).pow(k - 1); } else { ans = 0; } } else if (b >= 0) { if (a > 0) { ans = a * k; } else { ans = 0; } } else if (b == -1) { if (a > 0) { ans = a * k; } else { ans = -a * (k - 1); } } else { if (a > 0) { if (k % 2 == 0) { ans = a * 2 * mint(-b).pow(k - 2); } else { ans = a * mint(-b).pow(k - 1); } } else { if (k % 2 == 0) { ans = -a * mint(-b).pow(k - 1); } else { ans = -a * 2 * mint(-b).pow(k - 2); } } } cout << ans.val() << "\n"; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); ll t = 1; cin >> t; while (t--) { solve(); } return 0; }