#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

inline long long round_up_div(long long a,long long b){
       return (a-1)/b + 1 ;
}

class CandyAddict{
      #define RETURN(x) {\
              res[i] = x;\
              goto END;\
              }
      public: vector<long long> solve(vector<int> X, vector<int> Y,vector<int> Z){
              int n = X.size();
              vector<long long> res,x,y,z;
              for(int i=0;i<n;++i){
                      x.push_back(X[i]);
                      y.push_back(Y[i]);
                      z.push_back(Z[i]);
              }
              res.resize(n);
              for (int i=0;i<n;++i){
                  if (x[i]==y[i]) RETURN(0)
                  //else if (z[i]==1) res[i] = x[i]%y[i];
                  else{
                           int day = 1;
                           long long rem = x[i] % y[i];
                           long long cur = x[i] / y[i];
                           long long diff = cur * (x[i]-y[i]);
                           while(1){
                                    if (day == z[i]) RETURN(rem)                                   
                                    if (rem + diff < y[i]){
                                        long long period = round_up_div(y[i] - rem, diff);
                                        if (day + period * cur > z[i]) RETURN(rem + (z[i]-day) / cur * diff + (z[i]-day) % cur * x[i])
                                        else{
                                             day += period * cur;
                                             rem = (rem + period * diff) % y[i];
                                             cur++;
                                        }
                                    }
                                    else{
                                         if (day + cur > z[i]) RETURN(rem + (z[i]-day) * x[i])
                                         else{
                                             day += cur;
                                             rem += diff;
                                             cur += (rem / y[i]);
                                             rem %= y[i];
                                             }
                                    }
                                    diff = cur * (x[i]-y[i]);
                           }
                  }
                  
                  END:;
              }
              return res;
      }
};

// local test entry
int main()
{
    vector<int> a,b,c;
    int n;
    cin>>n;
    a.resize(n);
    b.resize(n);
    c.resize(n);
    for(int i=0;i<n;++i) cin>>a[i]>>b[i]>>c[i];
    vector<long long> result = CandyAddict().solve(a,b,c);
    for(int i=0;i<n;++i) cout<<result[i]<<endl;
    return 0;
}
