#include <bits/stdc++.h>
using namespace std;
inline long long int add(long long int a, long long int b, long long int mod) {
  return ((a % mod) + (b % mod)) % mod;
}
inline long long int sub(long long int a, long long int b, long long int mod) {
  return ((a % mod) - (b % mod) + mod) % mod;
}
inline long long int mul(long long int a, long long int b, long long int mod) {
  return ((a % mod) * (b % mod)) % mod;
}
int search(vector<int> array, int start_idx, int end_idx, int search_val) {
  if (start_idx == end_idx)
    return array[start_idx] <= search_val ? start_idx : -1;
  int mid_idx = start_idx + (end_idx - start_idx) / 2;
  if (search_val < array[mid_idx])
    return search(array, start_idx, mid_idx, search_val);
  int ret = search(array, mid_idx + 1, end_idx, search_val);
  return ret == -1 ? mid_idx : ret;
}
long long int rem(long long int a, long long int b, long long int d) {
  a = a % d;
  if (b == 0) return 1 % d;
  if (b == 1) return a % d;
  if (b % 2 == 0) return rem((a * a) % d, b / 2, d);
  if (b % 2 == 1) return (a * rem((a * a) % d, b / 2, d)) % d;
}
long long int power(long long int a, long long int b) {
  if (b == 0) return 1;
  if (b == 1) return a;
  if (b % 2 == 0) return power((a * a), b / 2);
  if (b % 2 == 1) return (a * power((a * a), b / 2));
}
long long int ceil_div(long long int x, long long int y) {
  return (x + y - 1) / y;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int t;
  cin >> t;
  while (t--) {
    long long int x, y, k;
    cin >> x >> y >> k;
    long long int ans = ceil_div(k * (y + 1LL) - 1, x - 1LL);
    ans += k;
    cout << ans << "\n";
  }
  return 0;
}
