P0582

复原序列

复原序列

本题中,我们考察的是一类特殊的序列,这类序列只由 +、-(正号、负号)两种符号构成,例如 -+++---++。

我们把序列中每一段连续的 + 的长度按从左到右的顺序写出,得到的序列称为它的派生序列。例如 -+++---++ 的派生序列为 (3,2)(3, 2)。

现在的问题是:已知一个序列 AA 的派生序列 BB,但是 AA 的部分符号已经模糊到不能辨认的地步了。我们需要确定尽量多的符号。

输入格式

输入共两行。

第一行是一个由 +、-、? 构成的序列,描述 AA,其中 ? 表示已经无法辨认的符号。

第二行是若干个整数,描述 AA 的派生序列 BB。

输出格式

输出一行,一个序列,描述你恢复后的序列 AA(不能有多余的空格),其中仍然无法唯一确定的位置用 ? 表示。

如果无解,则输出一行 No Solution。

样例输入

+????-+??+
2 1 4

样例输出

++-??-++++

数据范围

对于 100%100\% 的数据:

  • ∣A∣<20001|A| < 20001;
  • BB 的元素均属于 [1,∣A∣][1, |A|]。

来源与许可

本题题面与测试数据整理自 BZOJ 2047。

样例 1

输入

+????-+??+
2 1 4

输出

++-??-++++