------
## 最终结论
```python
def minimum_trades(t, test_cases):
    results = []
    for x, y, k in test_cases:
        # Total sticks needed: k (for torches) + k*y (for coals)
        total_sticks_needed = k * (y + 1)
        
        # Sticks we have initially: 1
        # Additional sticks needed: total_sticks_needed - 1
        additional_sticks_needed = total_sticks_needed - 1
        
        # Number of trades to get enough sticks using the first trade offer
        # We need to perform ceil(additional_sticks_needed / (x - 1)) trades
        trades_for_sticks = (additional_sticks_needed + x - 2) // (x - 1)
        
        # Total trades: trades for sticks + trades for coals
        total_trades = trades_for_sticks + k
        
        results.append(total_trades)
    
    return results

# Reading input and outputting results
if __name__ == "__main__":
    import sys
    input = sys.stdin.read
    data = input().split()
    
    t = int(data[0])
    index = 1
    test_cases = []
    
    for _ in range(t):
        x = int(data[index])
        y = int(data[index + 1])
        k = int(data[index + 2])
        test_cases.append((x, y, k))
        index += 3
    
    results = minimum_trades(t, test_cases)
    
    for result in results:
        print(result)
```