#include <bits/stdc++.h>
using namespace std;
long long V1[200003];
bool vis[200002];
bool comp1(const vector<int>& v1, const vector<int>& v2) {
  if (v1[0] < v2[0]) return true;
  return false;
}
bool comp2(const vector<int>& v1, const vector<int>& v2) {
  if (v1[1] < v2[1]) return true;
  return false;
}
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
int main() {
  int T = 1;
  cin >> T;
  while (T--) {
    long long A, B, C, D, i, j, k, l, N, M = 0;
    long long x1, x2, y1, y2, y3, y4, x3, x4;
    long long x, y, z;
    priority_queue<long long> qn;
    cin >> x >> y >> k;
    x1 = k * y + k;
    if ((x1 - 1) % (x - 1) != 0)
      B = 1;
    else
      B = 0;
    A = (x1 - 1) / (x - 1) + B;
    cout << A + k << endl;
  }
}
