比赛场次 232
比赛名称 20140421
比赛状态 已结束比赛成绩
开始时间 2014-04-21 08:00:00
结束时间 2014-04-21 11:30:00
开放分组 全部用户
注释介绍
题目名称 复原序列
输入输出 recover.in/out
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试点数 10 简单对比
用户 结果 时间 内存 得分
GravatarCirno WWWWWWWWWW 0.001 s 0.31 MiB 0

复原序列

★   输入文件:recover.in   输出文件:recover.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

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

我们将其中连续的+的长度按从左到右的顺序写出,即其派生序列,如-+++---++的派生序列为(3,2)。

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


【输入文件】

输入文件有两行。

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

第二行有若干整数描述A的生成序列B。


【输出文件】

输出一行,一个序列描述你恢复后的序列A(不能多余的空格),如果无解则输出一行No Solution。


【数据约定】

对于30%的数据满足|A| < 11

对于50%的数据满足|A| < 101

对于100%的数据满足|A| < 20001

B的元素属于[1 … |A|]


【样例】

输入样例1

+-?+-+++

1 2 3

输出样例1

+-++-+++

输入样例2

???

2

输出样例2

?+?

输入样例3

--

1

输出样例3

No Solution