def calc(n, a1, b1, a2, b2):
s = max(a1, a2)
t = min(a1 + n // b1, a2 + n // b2) + 1
if s >= t: return 0
S = [s, t]
if b1 != b2:
x = (a1 * b1 - a2 * b2) // (b1 - b2)
if s <= x <= t:
S.append(x)
x = ((a1 - 1) * b1 - (a2 - 1) * b2) // (b1 - b2)
if s <= x <= t:
S.append(x)
x = (a2 * b2 - a1 * b1 + b1) // (b2 - b1)
if s <= x <= t:
S.append(x)
x = (a1 * b1 - a2 * b2 + b2) // (b1 - b2)
if s <= x <= t:
S.append(x)
T = {s, t}
for a in S:
for d in range(-2, 3):
b = a + d
if s <= b <= t:
T.add(b)
X = sorted(T)
# print("X =", X)
re = 0
for x, y in zip(X, X[1:]):
k = x
l = max((k - a1) * b1, (k - a2) * b2, 1)
r = min((k - a1 + 1) * b1, (k - a2 + 1) * b2, n + 1)
z1 = max(r - l, 0)
k = y - 1
l = max((k - a1) * b1, (k - a2) * b2, 1)
r = min((k - a1 + 1) * b1, (k - a2 + 1) * b2, n + 1)
z2 = max(r - l, 0)
re += (z1 + z2) * (y - x) // 2
return re
T = int(input())
for _ in range(T):
n, a1, b1, a2, b2 = map(int, input().split())
print(calc(n, a1, b1, a2, b2))