321
社区成员




小艺酱想给自己起一个英文名字。 小艺酱想要装的自己学识渊博。 所以她想要自己英文名字必须满足: 1.只有字母表中前k个小写字母。 2.必须是回文串。 3.前k个小写字母每个字母至少出现一次。 小艺酱已经自己完成了部分空余的字母部分用’?’代替。 请你帮她完成她的英文名字。
嗯,除非两个对应的位置都是?号,其他位置的?替换成对应的内容,两个都是?号的,则按缺失字符递补。
k = int(input())
name = input()
n = len(name)
cs = 'abcdefghijklmnopqrstuvwxyz'
ans = ''
less = sorted(set(cs[:k]) - set(name))
l = (n - 1) // 2
r = l if n % 2 == 1 else l + 1
t = list(name)
for i in range(l + 1):
if t[l - i] != t[r + i] and '?' not in [t[l - i],t[r + i]]:
ans = 'QAQ'
break
elif t[l - i] != t[r + i]:
t[l - i] = t[r + i] = (t[l - i] if t[l - i] != '?' else t[r + i])
elif '?' == t[l - i] == t[r + i]:
t[l - i] = t[r + i] = (less.pop() if len(less) > 0 else 'a')
if ans == '':
if len(less) > 0:
ans = 'QAQ'
else:
ans = ''.join(t)
print(ans)