#!/usr/bin/env ruby def mwf(l, r, m, a, b, c, d) n = r - l qc0, rc0 = c.divmod(m) c = rc0 a += b * qc0 qd0, rd0 = d.divmod(m) d = rd0 sum_acc = a * l + b * qd0 max_acc = sum_acc loop do n -= 1 y_max = (c * n + d) / m max_acc = [max_acc, sum_acc].max t = sum_acc + a * n + b * y_max max_acc = [max_acc, t].max if (a <= 0 && b <= 0) || (a >= 0 && b >= 0) || y_max == 0 return max_acc end if a < 0 sum_acc += a + b end n = y_max d = m - d - 1 m, c, a, b = c, m, b, a qc, c = c.divmod(m) a += b * qc qd, d = d.divmod(m) sum_acc += b * qd end end def solve t = STDIN.readline.to_i t.times do n, m, a, b, c, d = STDIN.readline.split.map(&:to_i) result = mwf(0, n, m, a, b, c, d) puts result end end if __FILE__ == $0 solve end