# 全探索して複数候補がある場合はできるだけ後ろにhelloworldをおいて余った?にはaをあてがう # だめ # h?????????dみたいな場合、後ろからだとhhelloworldとなるがhelloworlddを選ばない度だめ # 候補全列挙でまにあうか? T = int(input()) word = "helloworld" num = len(word) for _ in range(T): N = int(input()) S = list(input()) ids = [] for s in range(N-num,-1,-1): if S[s] != "h" and S[s] != "?": continue if all(S[s+i] == word[i] or S[s+i] == "?" for i in range(num)): ids.append(s) if len(ids) == 0: print(-1) continue g = set() for idx in ids: Z = S[:] for i in range(num): if Z[idx+i] == "?": Z[idx+i] = word[i] for i in range(N): if Z[i] == "?": Z[i] = "a" g.add("".join(Z)) g=sorted(g) print(g[0])