import sys input = sys.stdin.readline def mwf(n: int, m: int, a: int, b: int, c: int, d: int) -> int: """ mwf(n,m,a,b,c,d) = max{ a*x+b*floor((c*x+d)/m) | 0 <= x < n} """ a += c // m * b s = d // m * b c %= m d %= m y = (c * ~-n + d) // m r = max(s, s + a * ~-n + b * y) if y * a * b < 0: r = max(r, s + (a + b) * (a < 0) + mwf(y, c, b, a, m, m + ~d)) return r if __name__ == "__main__": for _ in range(int(input())): n, m, a, b, c, d = map(int, input().split()) print(mwf(n, m, a, b, c, d))