#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
void solve() {
long long x, y, k;
cin >> x >> y >> k;
if (y == 1) {
cout << -1 << "\n";
return;
}
vector<long long> n_history;
long long n = 1000000000000LL;
n_history.push_back(n);
for (int i = 0; i < x; ++i) {
long long n_prev = n;
n = n - n / y;
n_history.push_back(n);
if (n == n_prev) {
break;
}
}
long long J = n_history.size() - 1;
long long current_k = k;
long long c = y - 1;
long long n_final;
if (x <= J) {
n_final = n_history[x];
} else {
n_final = n_history[J];
}
if (current_k > n_final) {
cout << -1 << "\n";
return;
}
long long t = 0;
if (x > J) {
t = x - J;
}
long long m = current_k - 1;
long long n_limit = n_history[J] - 1;
bool possible = true;
while (t > 0) {
if (m > n_limit) {
possible = false;
break;
}
long long q = m / c;
if (q == 0) {
break;
}
long long steps_to_limit = (n_limit - m) / q;
if (steps_to_limit == 0) {
possible = false;
break;
}
long long next_m_boundary = (q + 1) * c;
long long steps_to_boundary = (next_m_boundary - m + q - 1) / q;
long long steps = min({steps_to_boundary, t, steps_to_limit});
m += steps * q;
t -= steps;
}
if (m > n_limit) {
possible = false;
}
current_k = m + 1;
long long i_start_loop = min(x, J);
if (possible) {
for (long long i = i_start_loop - 1; i >= 0; --i) {
current_k = current_k + (current_k - 1) / c;
if (current_k > n_history[i]) {
possible = false;
break;
}
}
}
if (possible) {
cout << current_k << "\n";
} else {
cout << -1 << "\n";
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin >> t;
while (t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZvaWQgc29sdmUoKSB7CiAgICBsb25nIGxvbmcgeCwgeSwgazsKICAgIGNpbiA+PiB4ID4+IHkgPj4gazsKCiAgICBpZiAoeSA9PSAxKSB7CiAgICAgICAgY291dCA8PCAtMSA8PCAiXG4iOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICB2ZWN0b3I8bG9uZyBsb25nPiBuX2hpc3Rvcnk7CiAgICBsb25nIGxvbmcgbiA9IDEwMDAwMDAwMDAwMDBMTDsKICAgIG5faGlzdG9yeS5wdXNoX2JhY2sobik7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCB4OyArK2kpIHsKICAgICAgICBsb25nIGxvbmcgbl9wcmV2ID0gbjsKICAgICAgICBuID0gbiAtIG4gLyB5OwogICAgICAgIG5faGlzdG9yeS5wdXNoX2JhY2sobik7CiAgICAgICAgaWYgKG4gPT0gbl9wcmV2KSB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KCiAgICBsb25nIGxvbmcgSiA9IG5faGlzdG9yeS5zaXplKCkgLSAxOwogICAgbG9uZyBsb25nIGN1cnJlbnRfayA9IGs7CiAgICBsb25nIGxvbmcgYyA9IHkgLSAxOwogICAgCiAgICBsb25nIGxvbmcgbl9maW5hbDsKICAgIGlmICh4IDw9IEopIHsKICAgICAgICBuX2ZpbmFsID0gbl9oaXN0b3J5W3hdOwogICAgfSBlbHNlIHsKICAgICAgICBuX2ZpbmFsID0gbl9oaXN0b3J5W0pdOwogICAgfQoKICAgIGlmIChjdXJyZW50X2sgPiBuX2ZpbmFsKSB7CiAgICAgICAgY291dCA8PCAtMSA8PCAiXG4iOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBsb25nIGxvbmcgdCA9IDA7CiAgICBpZiAoeCA+IEopIHsKICAgICAgICB0ID0geCAtIEo7CiAgICB9CgogICAgbG9uZyBsb25nIG0gPSBjdXJyZW50X2sgLSAxOwogICAgbG9uZyBsb25nIG5fbGltaXQgPSBuX2hpc3RvcnlbSl0gLSAxOwogICAgYm9vbCBwb3NzaWJsZSA9IHRydWU7CgogICAgd2hpbGUgKHQgPiAwKSB7CiAgICAgICAgaWYgKG0gPiBuX2xpbWl0KSB7CiAgICAgICAgICAgIHBvc3NpYmxlID0gZmFsc2U7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBsb25nIGxvbmcgcSA9IG0gLyBjOwogICAgICAgIGlmIChxID09IDApIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQoKICAgICAgICBsb25nIGxvbmcgc3RlcHNfdG9fbGltaXQgPSAobl9saW1pdCAtIG0pIC8gcTsKICAgICAgICBpZiAoc3RlcHNfdG9fbGltaXQgPT0gMCkgewogICAgICAgICAgICBwb3NzaWJsZSA9IGZhbHNlOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgbG9uZyBsb25nIG5leHRfbV9ib3VuZGFyeSA9IChxICsgMSkgKiBjOwogICAgICAgIGxvbmcgbG9uZyBzdGVwc190b19ib3VuZGFyeSA9IChuZXh0X21fYm91bmRhcnkgLSBtICsgcSAtIDEpIC8gcTsKICAgICAgICBsb25nIGxvbmcgc3RlcHMgPSBtaW4oe3N0ZXBzX3RvX2JvdW5kYXJ5LCB0LCBzdGVwc190b19saW1pdH0pOwoKICAgICAgICBtICs9IHN0ZXBzICogcTsKICAgICAgICB0IC09IHN0ZXBzOwogICAgfQogICAgCiAgICBpZiAobSA+IG5fbGltaXQpIHsKICAgICAgICBwb3NzaWJsZSA9IGZhbHNlOwogICAgfQoKICAgIGN1cnJlbnRfayA9IG0gKyAxOwogICAgCiAgICBsb25nIGxvbmcgaV9zdGFydF9sb29wID0gbWluKHgsIEopOwoKICAgIGlmIChwb3NzaWJsZSkgewogICAgICAgIGZvciAobG9uZyBsb25nIGkgPSBpX3N0YXJ0X2xvb3AgLSAxOyBpID49IDA7IC0taSkgewogICAgICAgICAgICBjdXJyZW50X2sgPSBjdXJyZW50X2sgKyAoY3VycmVudF9rIC0gMSkgLyBjOwogICAgICAgICAgICBpZiAoY3VycmVudF9rID4gbl9oaXN0b3J5W2ldKSB7CiAgICAgICAgICAgICAgICBwb3NzaWJsZSA9IGZhbHNlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgaWYgKHBvc3NpYmxlKSB7CiAgICAgICAgY291dCA8PCBjdXJyZW50X2sgPDwgIlxuIjsKICAgIH0gZWxzZSB7CiAgICAgICAgY291dCA8PCAtMSA8PCAiXG4iOwogICAgfQp9CgppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIGludCB0OwogICAgY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSB7CiAgICAgICAgc29sdmUoKTsKICAgIH0KICAgIHJldHVybiAwOwp9