from collections import defaultdict, deque from sys import stdin readline = stdin.readline def li(): return list(map(int, readline().split())) T = int(input()) case_list = [] for _ in range(T): N = int(input()) case_list.append(list(input())) # 後ろから探して最初に見つけた場所をhelloworldにする # 残りの?にはaを入れる hello = list('helloworld') for case_s in case_list: if case_s.count(''.join(hello)) > 0: for j in range(len(case_s)): if case_s[j] == '?': case_s[j] = 'a' print(''.join(case_s)) continue index = 9 possible = False for i in range(len(case_s) - 1, -1, -1): if case_s[i] == '?' or case_s[i] == hello[index]: index -= 1 else: if case_s[i] == '?' or case_s[i] == hello[9]: index = 8 else: index = 9 if index == -1: # helloworldを確定 for j in range(10): case_s[i + j] = hello[j] for j in range(len(case_s)): if case_s[j] == '?': case_s[j] = 'a' possible = True break if possible: print(''.join(case_s)) else: print(-1)