#!/usr/bin/env pypy3 # -*- coding: utf-8 -*- def mwf(n: int, m: int, a: int, b: int, c: int, d: int) -> int: assert n > 0 and m > 0 q, c = divmod(c, m) a += b * q q, d = divmod(d, m) s = b * q assert 0 <= c < m and 0 <= d < m y_max = (c * (n - 1) + d) // m return max(s, s + a * (n - 1)) if y_max == 0 else max( s, s + a * (n - 1) + b * y_max, s + (a + b) * (a < 0) + mwf(y_max, c, b, a, m, (m - d - 1)) ) def solve(): import sys input = sys.stdin.readline T = int(input()) for _ in range(T): N, M, A, B, C, D = map(int, input().split()) assert 0 < N and 0 < M ans = mwf(N, M, A, B, C, D) print(ans) if __name__ == '__main__': solve()