import sys, re
from collections import deque, defaultdict, Counter
from math import ceil, sqrt, hypot, factorial, pi, sin, cos, radians, gcd
from itertools import accumulate, permutations, combinations, product, groupby, combinations_with_replacement
from operator import itemgetter, mul
from copy import deepcopy
from string import ascii_lowercase, ascii_uppercase, digits
from bisect import bisect, bisect_left
from heapq import heappush, heappop
from functools import reduce
def input(): return sys.stdin.readline().strip()
def INT(): return int(input())
def MAP(): return map(int, input().split())
def LIST(): return list(map(int, input().split()))
def ZIP(n): return zip(*(MAP() for _ in range(n)))
sys.setrecursionlimit(10 ** 9)
INF = float('inf')

l = []
T = INT()
for _ in range(T):
    d, A, B = MAP()
    if A == 0:
        A += 1
    loop, left = divmod(B-A+1, d-1)
    ans = d*(d-1)//2*loop
    start = A%(d-1) if A%(d-1)!=0 else d-1
    fin = start+left-1
    if fin >= d-1:
        fin -= d-1
        ans += d*(d-1)//2
        ans -= (fin+1+start-1)*(d-1-left)//2
    else:
        ans += (start+fin)*left//2
    l.append(ans)

print(*l, sep="\n")