S = input() n = len(S) used = [False] * n T = ["?"] * n for i in range(n): if S[i] == "?": used[i] = True else: T[i] = S[i] cnt = [0] * n for i in range(1, 28): max_ = "a" br = True for j in range(n - 1, -1, -1): if used[j]: continue elif S[j] >= max_: max_ = S[j] used[j] = True cnt[j] = i br = False if br: break ma = i - 1 t = "a" for j in range(n - 1, -1, -1): if T[j] == "?": T[j] = t elif cnt[j] == ma: t = T[j] print(*T, sep="")