#agc044a. [agc044_a]Pay to Win

[agc044_a]Pay to Win

题目描述

你从数字 00 开始,想要达到数字 NN

你可以通过以下操作改变数字,并支付一定数量的硬币:

  • 将数字乘以 22,支付 AA 个硬币。
  • 将数字乘以 33,支付 BB 个硬币。
  • 将数字乘以 55,支付 CC 个硬币。
  • 将数字加 11 或减 11,支付 DD 个硬币。

你可以以任意顺序执行这些操作,并且可以执行任意次数。

你需要花费多少个硬币才能达到数字 NN

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

约束条件

  • 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 都是整数。

输入

输入以以下格式从标准输入中给出:

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

示例输出 1

20
19
26
3821859835
23441258666

对于第一个测试用例,以下移动序列可以达到最小花费 2020

  • 初始时 x=0x = 0
  • 支付 88 个硬币将数字增加 11x=1x = 1)。
  • 支付 11 个硬币将数字乘以 22x=2x = 2)。
  • 支付 11 个硬币将数字乘以 22x=4x = 4)。
  • 支付 22 个硬币将数字乘以 33x=12x = 12)。
  • 支付 88 个硬币将数字减少 11x=11x = 11)。

对于第二个测试用例,以下移动序列可以达到最小花费 1919

  • 初始时 x=0x = 0
  • 支付 88 个硬币将数字增加 11x=1x = 1)。
  • 支付 11 个硬币将数字乘以 22x=2x = 2)。
  • 支付 22 个硬币将数字乘以 55x=10x = 10)。
  • 支付 88 个硬币将数字增加 11x=11x = 11)。