旅店的小小死神
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
Special Judge, 64bit IO Format: %lld

题目描述



作为一位模拟经营类游戏的爱好者,agKc 在游玩游戏《尤格索托斯的庭院》时,思考出了如何将收益最大化的办法,现在他想来考考你。


旅馆每天会来 x 人,一天分为白天与夜晚,白天与夜晚各能进行两次行动,行动分为三种:


1. 召唤:将今天的客人数变为 a\times x,只可白天进行,且一天只能进行一次;

2. "收集":从每位客人身上收集一份灵魂液滴与 b 份灵魂残渣,将当前旅馆内人数归零,只可晚上进行;

3. 炼金:消耗最多 c灵魂残渣,转化为等量 灵魂液滴,白天夜晚均可进行。

每天所有行动之后,剩余的客人都会离开旅馆。请你计算,在 n 天内最多收集多少灵魂液滴

输入数据保证 x\leq c<a

输入描述:

每个测试点包含多个测试用例,第一行输入一个正整数 t (1\leq t \leq 100) 表示测试用例的数量。

对每个测试用例的描述如下:

一行输入五个正整数,分别为 x,a,b,c,n (1\leq x,a,b,c,n \leq 10^5 且保证 x \leq c < a)。

输出描述:

对每个测试用例,输出一个正整数,表示在 n 天内,agKc最多可收集的灵魂液滴的数量。
示例1

输入

复制
2
1 5 4 3 2
2 3 2 2 2

输出

复制
20
18
示例2

输入

复制
4
7 10 2 9 2
5 10 7 5 2
5 9 2 6 5
8 10 7 9 7

输出

复制
167
115
279
677