求值
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

现有三个正整数 A,B,C,请你找三个整数x,y,z满足x+y+z=n,且0\leq x,y,z,使得 |x*A + y*B + z*C - W| 最小。

为了简化题目,现在只要找到|x*A + y*B + z*C - W|的最小值。

输入描述:

第一行一个正整数 T(1\leq T \leq 10^3)代表多组询问

接下来 T 行 每行五个正整数 A,B,C,n,W(1 \leq A,B,C,n,W\leq 10^6)如题意所示

保证所有样例中 n 的和小于 10^6

输出描述:

T 行每组询问输出一行,代表最小答案
示例1

输入

复制
4
1 2 3 4 5
6 7 8 9 10
3 4 5 6 7
100 200 33 23 4

输出

复制
0
44
11
755