CF1657B.XY Sequence

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

XY Sequence

You are given four integers nn, BB, xx and yy. You should build a sequence a0,a1,a2,,ana_0, a_1, a_2, \dots, a_n where a0=0a_0 = 0 and for each i1i \ge 1 you can choose:

  • either ai=ai1+xa_i = a_{i - 1} + x
  • or ai=ai1ya_i = a_{i - 1} - y.

Your goal is to build such a sequence aa that aiBa_i \le B for all ii and um\limits_{i=0}^{n}{a_i} is maximum possible.

Input

The first line contains a single integer tt (1t1041 \le t \le 10^4) — the number of test cases. Next tt cases follow.

The first and only line of each test case contains four integers nn, BB, xx and yy (1n21051 \le n \le 2 \cdot 10^5; 1B,x,y1091 \le B, x, y \le 10^9).

It's guaranteed that the total sum of nn doesn't exceed 21052 \cdot 10^5.

Output

For each test case, print one integer — the maximum possible um\limits_{i=0}^{n}{a_i}.

Note

In the first test case, the optimal sequence aa is [0,1,2,3,4,5][0, 1, 2, 3, 4, 5].

In the second test case, the optimal sequence aa is [0,109,0,109,0,109,0,109][0, 10^9, 0, 10^9, 0, 10^9, 0, 10^9].

In the third test case, the optimal sequence aa is [0,3,6,1,2][0, -3, -6, 1, -2].

Samples

3
5 100 1 30
7 1000000000 1000000000 1000000000
4 1 7 3
15
4000000000
-10

在线编程 IDE

建议全屏模式获得最佳体验