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 possible = False for i in range(len(case_s) - 1, 8, -1): partial_possible = True for j in range(10): if case_s[i - 9 + j] != '?' and case_s[i - 9 + j] != hello[j]: partial_possible = False if partial_possible: for j in range(10): if case_s[i - 9 + j] == '?': case_s[i - 9 + j] = hello[j] possible = True for j in range(len(case_s)): if case_s[j] == '?': case_s[j] = 'a' if possible: print(''.join(case_s)) break if not possible: print(-1)