给定一个字符串 S 和一个与 S 等长的 01 串 P,请构造一个非空字符串 T(T 必须仅包含英文小写字母),满足以下条件:
- 对于 1≤i≤|S|−|T|+1,P[i]=1 当且仅当 T 作为子串恰好从 S 的下标 i 开始出现;
- 对于 |S|−|T|+1<i≤|S|,P[i]=0。
若满足条件的 T 存在,输出任意一个长度不超过 106+1 的 T(这样的 T 一定存在),否则输出 -1
。
Input
第一行一个由小写英文字母构成的字符串 S (1≤|S|≤106)。
第二行一个与 S 等长的 01 串 P。
Output
输出一个字符串 T 或 -1
。如果有多种可能的 T,你可以任意输出一种。
T 必须仅包含英文小写字母。
Example
input
baaababaab 0001010000
output
aba
input
zqjzqj 000000
output
test
input
zqjzqj 100001
output
-1
explanation
对于第一组样例,T 只可能是 aba。
对于第二组样例,T 不是 S 的子串即可。
对于第三组样例,没有合法的 T,因此答案为 -1
。
Scoring
对于 30% 的测试点: |S|≤10,且 S 只包含 a 或 b。
对于 50% 的测试点: |S|≤100。
对于 70% 的测试点: |S|≤1000。
对于 100% 的测试点: |S|≤106。