#arc0054. [arc005_4]連射王高橋君

[arc005_4]連射王高橋君

问题文本

终于到达鱼店的高桥君意识到他没有带很多钱。这样他无法用定价购买鳗鱼。因此,他决定与店主谈判,看看能否给他折扣。然而,鱼店的老板年纪大耳朵不好,似乎听不清高桥君说的价格。没办法,高桥君找了附近的计算器来传达价格。
 然而,非常不幸的是,高桥君不小心把计算器掉落,弄坏了一些按钮。计算器上有12个按钮,其中包括数字(0-9)、加号(+)和等号(=)。可以确定的是 01+= 没有坏掉,但其他按钮可能损坏了。
 例如,如果 012+= 都没有损坏的话,下面是一些表示 11 的方法之一。

  • 1+1+1+1+1+1+1+1+1+1+1=
  • 2+2+2+2+2+1=
  • 11
  • 1+2+1+2+1+1+1+2=
  • 10+1=

在这种情况下,+= 的用法如下。

  • +:只能在数字和数字之间按。
  • =:如果使用+,则必须在最后按下。如果没有使用+,按下它也没有任何效果。

由于这家鱼店的老板脾气不好,如果不及时告诉他价格,他会生气。因此,我们希望尽可能少地按按钮。对于上面的例子,按下 11,只需要按两次按钮就可以表示 11,这种情况下按按钮的次数是最少的。

当给定要显示的数字时,请按照最小按键次数的顺序回答按下的按钮。注意,如果用加法表示,项的顺序不重要(如果 1+2= 是正确答案,则 2+1= 也是正确答案)。


输入

输入从标准输入中以以下格式给出:b1b2...bNb_1b_2...b_N priceprice

  • 只有两行输入。
  • 第一行为一个长度为 N(2N10)N(2≦N≦10) 的整数字符串。
    • bi(1iN)b_i(1≦i≦N)0-9 中的某个字符,表示未损坏的按钮。
    • b1b_1bNb_N 必须包含 01
    • 在第一行中,bib_i 按升序排列,没有重复。
    • 可以使用该行中显示的数字按钮、+=
  • 第二行给出要显示的整数 price(1price1018)price(1≦price<10^{18})
    • : 推荐使用64位整数类型。

输出

为了用未损坏的按钮显示指定的数字,按下按钮的次数最少时,请按照顺序回答按下的按钮。
最后输出一个换行符。


输入例子 1


01257
2380

输出例子 1


2270+110=
  • 可用按钮为0, 1, 2, 5, 7, +, = 共 7 个。
  • 由于 3 和 8 损坏了,必须用加法表示。

输入例子 2


0123456789
17564523527628452

输出例子 2


17564523527628452
  • 所有按钮都可用,可以直接输入所需数字。

输入例子 3


01
9

输出例子 3


1+1+1+1+1+1+1+1+1=
  • 只能使用 0 和 1,只能逐个相加。

输入例子 4


019
2727

输出例子 4


909+909+909=

输入例子 5


01457
245723852196245230

输出例子 5


175711751155145110+70011701041100110+400000000010=

来源名称

ARC 005