#5833. 密码

密码

题目描述

某实验室的密码系统发生故障,原本完整的访问密码 PP 部分字符变得模糊不清。已知:

  • 原始密码 PP 是一个由大写英文字母组成的字符串。
  • 故障后得到的密码 PP' 中,某些位置的字符显示为 ?(表示无法辨认)。
  • 已知一个关键验证码 CC,它是原始密码PP的一个子串(即:CC 是原始密码 PP 中取出若干连续字母构成的字符串)。

现在给出故障密码PP' 和验证码 CC。请将 PP'中的 ? 替换为大写字母,使得恢复的原始密码包含子串CC,并在所有可能结果中选择字典序最小的完整密码 PP

输入格式

  • 第一行输入故障密码PP',由大写字母和 ? 组成。
  • 第二行输入验证码 CC,由大写字母组成。

输出格式

一行字符串,表示满足条件的字典序最小的原始密码 PP

样例输入 1

A?C
ABC

样例输出 1

ABC

样例输入 2

?BC??EF
CDE

样例输出 2

ABCCDEF

样例输入 3

????
AB

样例输出 3

AAAB

说明/提示

样例解释 1

P=A?CP' = A?CC=ABCC = ABC? 替换为 B,得到 ABC,包含子串 ABC,且字典序最小。

样例解释 2

P=?BC??EFP' = ?BC??EFC=CDEC = CDE 将第 1 个位置的 ?A,第 4、5 个位置的 ?CD,得到 ABCCDEF,包含子串 CDE,且字典序最小。

数据范围

P,C|P'|,|C| 分别为字符串P,CP',C 的长度:

  • 对于 30% 的数据,满足 1CP101 \leq |C| \leq |P'| \leq 10
  • 对于 60% 的数据,满足 1CP1021 \leq |C| \leq |P'| \leq 10^2
  • 对于 100% 的数据,满足 1CP1041 \leq |C| \leq |P'| \leq 10^4

测试数据保证至少存在一个可行的P。