#include "bits/stdc++.h" using namespace std; // #include "atcoder/all" // using namespace atcoder; #define int long long #define REP(i, n) for (int i = 0; i < (int)n; ++i) #define RREP(i, n) for (int i = (int)n - 1; i >= 0; --i) #define FOR(i, s, n) for (int i = s; i < (int)n; ++i) #define RFOR(i, s, n) for (int i = (int)n - 1; i >= s; --i) #define ALL(a) a.begin(), a.end() #define IN(a, x, b) (a <= x && x < b) templateistream&operator >>(istream&is,vector&vec){for(T&x:vec)is>>x;return is;} templateinline void out(T t){cout << t << "\n";} templateinline void out(T t,Ts... ts){cout << t << " ";out(ts...);} templateinline bool CHMIN(T&a,T b){if(a > b){a = b;return true;}return false;} templateinline bool CHMAX(T&a,T b){if(a < b){a = b;return true;}return false;} constexpr int INF = 1e18; #define endl '\n' #define IOS() ios_base::sync_with_stdio(0);cin.tie(0) void solve(){ //配列は必要な分だけ毎回確保する! int d, A, B; cin >> d >> A >> B; /*if(d == 2 && A == 0 && B == 0) { out(0); return; }*/ int ans = B - A + 1; if(A == 0) --ans; d--; auto f = [&](int x) -> int { if(x <= 0) return 0; int ret = 0; ret += x / d * (d - 1) * d / 2; x = x % d; ret += (x - 1) * x / 2; return ret; }; ans += f(B) - f(A - 1); out(ans); } signed main(){ IOS(); int Q = 1; cin >> Q; while(Q--)solve(); }