#ATagc044a. [AGC044A] Pay to Win

[AGC044A] Pay to Win

题目描述

你有一个数字 00 ,你希望得到数字 NN

你可以通过以下操作更改数字,每次操作都需要支付一定数量的硬币:

  • 将当前数乘 22,需要 AA 个硬币。
  • 将当前数乘 33,需要 BB 个硬币。
  • 将当前数乘 55,需要 CC 个硬币。
  • 将当前数加 11 或减 11,需要 DD 个硬币。

你可以按任意顺序和任意次数执行这些操作。

最少需要多少硬币才能得到 NN

你需要解决 TT 组测试用例。

输入格式

第一行包含一个整数。

TT

随后的 TT 行代表 TT 个测试用例,每行包含五个整数。

NN AA BB CC DD

输出格式

对于每个测试用例,输出一行表示答案。

样例 1

输入

5
11 1 2 4 8
11 1 2 2 8
32 10 8 5 4
29384293847243 454353412 332423423 934923490 1
900000000000000000 332423423 454353412 934923490 987654321

输出

20
19
26
3821859835
23441258666

说明/提示

约束

  • 1T101 \le T \le 10
  • 1N10181 \le N \le 10^{18}
  • 1A,B,C,D1091 \le A, B, C, D \le 10^9
  • N,A,B,C,DN, A, B, C, D 都是整数。

样例解释

对于第一个测试用例,达到最低成本 2020 的一系列操作是:

  • 初始 x=0x = 0
  • 88 个硬币使其加 1(x=1)1(x = 1)
  • 11 个硬币使其乘 2(x=2)2(x = 2)
  • 11 个硬币使其乘 2(x=4)2(x = 4)
  • 22 个硬币使其乘 3(x=12)3(x = 12)
  • 88 个硬币使其减 1(x=11)1(x = 11)

对于第二个测试用例,达到最低成本 1919 的一系列操作是:

  • 初始 x=0x = 0
  • 88 个硬币使其加 1(x=1)1(x = 1)
  • 11 个硬币使其乘 2(x=2)2(x = 2)
  • 22 个硬币使其乘 5(x=10)5(x = 10)
  • 88 个硬币使其减 1(x=11)1(x = 11)