'''На easy
На вход программе подаются два ненулевых целых числа aa и bb. Напишите программу, которая выводит:

сумму чисел aa и bb;
разность чисел aa и bb;
произведение чисел aa и bb;
частное чисел aa и bb;
целую часть от деления числа aa на bb;
остаток от деления числа aa на bb;
корень квадратный из суммы их 1010-х степеней: \sqrt{a^{10} + b^{10}}
Формат входных данных
На вход программе подаются два ненулевых целых числа aa и bb, каждое на отдельной строке.

Формат выходных данных
Программа должна вывести результаты математических операций в соответствии с условием задачи.

Sample Input 1:

3
8
Sample Output 1:

11
-5
24
0.375
0
3
32768.90100384814'''
# from math import sqrt
#
# a = int(input())
# b = int(input())
#
# print(a + b)
# print(a - b)
# print(a * b)
# print(a / b)
# print(a // b)
# print(a % b)
# print(sqrt(a**10 + b**10))

'''Индекс массы тела
Напишите программу для вычисления и оценки индекса массы тела (ИМТ) человека. ИМТ показывает весит человек больше или меньше нормы для своего роста. ИМТ человека рассчитывают по формуле:

ИМТ = масса (кг)/рост(м) * рост(м) ,

где масса измеряется в килограммах, а рост — в метрах.

Масса человека считается оптимальной, если его ИМТ находится между 18.518.5 и 2525. Если ИМТ меньше 18.518.5, то считается, что человек весит ниже нормы. Если значение ИМТ больше 2525, то считается, что человек весит больше нормы.

Программа должна вывести "Оптимальная масса", если ИМТ находится между 18.518.5 и 2525 (включительно). "Недостаточная масса", если ИМТ меньше 18.518.5 и "Избыточная масса", если значение ИМТ больше 2525.

Формат входных данных
На вход программе подается два числа: масса и рост человека, каждое на отдельной строке. Все входные числа являются вещественными, используйте для них тип данных float.

Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.

Sample Input 1:

65
1.75
Sample Output 1:

Оптимальная масса
Sample Input 2:

80
2.23
Sample Output 2:

Недостаточная масса
Sample Input 3:

80
1.6
Sample Output 3:

Избыточная масса'''

# r = float(input())
# m = float(input())
#
# ITM = r/m**2
# if 18.5 <= ITM <= 25:
#     print("Оптимальная масса")
# elif ITM < 18.5:
#     print("Недостаточная масса")
#
# else:
#     print('Избыточная масса')
#
# weight, height = float(input()), float(input())
# imt = weight / height**2
# print("Оптимальная масса" if 18.5 <= imt <= 25 else "Недостаточная масса" if imt < 18.5 else "Избыточная масса")

'''Стоимость строки
Дана строка текста. Напишите программу для подсчета стоимости строки, исходя из того, что один любой символ (в том числе пробел) стоит 6060 копеек. Ответ дайте в рублях и копейках в соответствии с примерами.

Формат входных данных
На вход программе подается строка текста.

Формат выходных данных
Программа должна вывести стоимость строки.

Sample Input 1:

Привет, как дела?!
Sample Output 1:

10 р. 80 коп.
Sample Input 2:

Тимур - лучший математик на свете!!
Sample Output 2:

21 р. 0 коп.
Sample Input 3:

Я собираюсь сделать ему предложение, от которого он не сможет отказаться.
Sample Output 3:

43 р. 80 коп.
Sample Input 4:

w
Sample Output 4:

0 р. 60 коп.'''

# s = input()
# p = len(s)
# ss = p * 0.6
# r = round((ss - int(ss))*100)
# print(f"{int(ss)}р. {r}коп.")
#
# print(*divmod(len(input()) * 60, 100), sep='р. ', end='коп.')

'''Количество слов
Дана строка, состоящая из слов, разделенных пробелами. Напишите программу, которая подсчитывает количество слов в этой строке.

Формат входных данных
На вход программе подается строка.

Формат выходных данных
Программа должна вывести количество слов в строке.

Примечание 1. Кроме слов в тексте могут присутствовать только пробелы (один или несколько).

Примечание 2. Решите задачу в одну строчку кода 😎.

Sample Input 1:

Hello world
Sample Output 1:

2
Sample Input 2:

Timur forever young
Sample Output 2:

3
'''

# print(len(input().split()))

'''Зодиак
Китайский гороскоп назначает животным годы в 1212-летнем цикле. Один 1212-летний цикл показан в таблице ниже. Таким образом, 20122012 год будет очередным годом дракона.

Год	Животное
20002000	Дракон
20012001	Змея
20022002	Лошадь
20032003	Овца
20042004	Обезьяна
20052005	Петух
20062006	Собака
20072007	Свинья
20082008	Крыса
20092009	Бык
20102010	Тигр
20112011	Заяц
Напишите программу, которая считывает год и отображает название связанного с ним животного. Ваша программа должна корректно работать с любым годом, не только теми, что перечислены в таблице.

Формат входных данных
На вход программе подается одно целое число – год.

Формат выходных данных
Программа должна вывести текст – название животного.

Sample Input 1:

2020
Sample Output 1:

Крыса
Sample Input 2:

1945
Sample Output 2:

Петух
'''

# year = ["Дракон", "Змея", "Лошадь", "Овца", "Обезьяна", "Петух", "Собака", "Свинья", "Крыса", "Бык", "Тигр", "Заяц"]
# year_new = int(input())
# yk = abs((year_new - 2012) % 12)
# print( year[yk])


# Дано пятизначное или шестизначное натуральное число.
# Напишите программу, которая изменит порядок его последних пяти цифр на обратный.
#
# Формат входных данных
# На вход программе подается одно натуральное пятизначное или шестизначное число.
#
# Формат выходных данных
# Программа должна вывести число, которое получится в результате разворота, указанного в условии задачи.
# Число нужно выводить без незначащих нулей.

# str_number = input()
# if len(str_number) == 6:
#     print(int(str_number[0] + str_number[::-1][:-1]))
# else:
#     print(int(str_number[::-1]))


# На вход программе подаётся натуральное число.
# Напишите программу,
# которая вставляет в заданное число запятые в соответствии
# со стандартным американским соглашением о запятых в больших числах.
#
# Формат входных данных
# На вход программе подаётся натуральное число n, (0 < n < 10**100).
#
# Формат выходных данных
# Программа должна вывести число с запятыми в соответствии с условием задачи.
#
# Sample Input 1:
#
# 1000000
# Sample Output 1:
#
# 1,000,000
# Sample Input 2:
#
# 100
# Sample Output 2:
#
# 100
# Sample Input 3:
#
# 12345
# Sample Output 3:
#
# 12,345

# number = input()
# count = 0
# new_string = ''
# for i in number[::-1]:
#     if count % 3 == 0 and count != 0:
#         new_string += ','
#     count += 1
#     new_string += i
#
# print(new_string[::-1])

# n человек, пронумерованных числами от 1 до n, стоят в кругу.
# Они начинают считаться, каждый k-й по счету человек выбывает из круга,
# после чего счет продолжается со следующего за ним человека.
# Напишите программу, определяющую номер человека, который останется в кругу последним.
#
# Формат входных данных
# На вход программе подаются два числа n и k, записанные на отдельных строках.
#
# Формат выходных данных
# Программа должна вывести одно число – номер человека, который останется в кругу последним.

# import collections
#
# n = int(input())
# k = int(input())
#
# sequence = (i for i in range(1, n + 1))
# sequenceInDeque = collections.deque(sequence)
#
# while len(sequenceInDeque) > 1:
#     sequenceInDeque.rotate(-k)
#     sequenceInDeque.pop()
#
# print(*sequenceInDeque)

# Дан набор точек на координатной плоскости.
# Необходимо подсчитать и вывести количество точек, лежащих в каждой координатной четверти.
#
# Формат входных данных
# В первой строке записано количество точек.
# Каждая следующая строка состоит из двух целых чисел — координат точки, разделенных символом пробела.
#
# Формат выходных данных
# Программа должна вывести количество точек, лежащих в каждой координатной четверти, как в примерах.
#
# Примечание. Учтите, что точки, лежащие на осях координат, не принято относить к какой либо координатной четверти.
#
# Sample Input 1:
#
# 4
# 0 -1
# 1 2
# 0 9
# -9 -5
# Sample Output 1:
#
# Первая четверть: 1
# Вторая четверть: 0
# Третья четверть: 1
# Четвертая четверть: 0
#
# amount_points = int(input())
# list_points = []
# one = 0
# two = 0
# three = 0
# four = 0
# for _ in range(amount_points):
#     x, y = map(int, input().split())
#     list_points.append([x, y])
#
# for points in list_points:
#     if points[0] > 0 < points[1]:
#         one += 1
#     elif points[0] < 0 < points[1]:
#         two += 1
#     elif points[0] < 0 > points[1]:
#         three += 1
#     elif points[0] > 0 > points[1]:
#         four += 1
#
# print(f"Первая четверть: {one}\nВторая четверть: {two}\nТретья четверть: {three}\nЧетвертая четверть: {four}")


# На вход программе подается строка текста, содержащая натуральные числа.
# Из данной строки формируется список чисел.
#
# Напишите программу, которая подсчитывает количество элементов полученного списка,
# больших предыдущего (элемента с предыдущим номером).
#
# Формат входных данных
# На вход программе подается строка текста, содержащая натуральные числа, разделенные пробелами.
#
# Формат выходных данных
# Программа должна вывести одно число – количество элементов списка, больших предыдущего.

# string = input()
#
# list_string = string.split(' ')
# num_list = [int(i) for i in list_string]
# count = 0
# for index, elem in enumerate(num_list):
#     if index > 0 and elem > num_list[index - 1]:
#         count += 1
# print(count)


# На вход программе подается строка текста из натуральных чисел.
# Из элементов строки формируется список чисел.
# Напишите программу, которая меняет местами соседние элементы списка (a[0] c a[1], a[2] c a[3] и т.д.).
# Если в списке нечетное количество элементов, то последний остается на своем месте.
#
# Формат входных данных
# На вход программе подается строка текста, содержащая натуральные числа, разделенные пробелами.
#
# Формат выходных данных
# Программа должна вывести измененный список, разделяя его элементы одним пробелом.

# string = input().split(' ')
# list_num = list(map(int, string))
# new_list = [0 for _ in range(len(string))]
# count = 1
#
# for index, num in enumerate(list_num):
#     if count % 2 == 0:
#         new_list[index] = list_num[index - 1]
#     else:
#         if index == len(list_num) - 1 and len(list_num) % 2 == 1:
#             new_list[index] = list_num[-1]
#             break
#         new_list[index] = list_num[index + 1]
#
#     if index == len(list_num) - 1:
#         break
#
#     count += 1
# print(*new_list)

# digits = [int(c) for c in input().split()]
#
# for i in range(1, len(digits), 2):
#     digits[i - 1], digits[i] = digits[i], digits[i - 1]
#
# print(*digits)

'''Произведение чисел
Напишите программу для определения, является ли число произведением двух чисел из данного набора, выводящую результат
 в виде ответа «ДА» или «НЕТ».

Формат входных данных
В первой строке подаётся число n(0<n<1000) – количество чисел в наборе. В последующих nn строках
 вводятся целые числа, составляющие набор (могут повторяться). Затем следует целое число, которое является или не 
 является произведением двух каких-то чисел из набора.

Формат выходных данных
Программа должна вывести «ДА» или «НЕТ» в соответствии с условием задачи.

Примечание. Само на себя число из набора умножиться не может, другими словами, два множителя должны иметь разные 
номера в наборе.

Sample Input 1:

3
33
17
35
999
Sample Output 1:

НЕТ
Sample Input 2:

4
89
4
77
4
16
Sample Output 2:

ДА
Sample Input 3:

5
1
999
87
33
325
999
Sample Output 3:

ДА'''

# def scan(number):
#     for i, num in enumerate(lst_number):
#         factor = number // num
#         if factor in lst_number and lst_number.index(factor) != i:
#             return 'ДА'
#     return ' НЕТ'
#
#
# lst_number = [int(input()) for _ in range(int(input()))]
# print(scan(int(input())))


'''Различные элементы
На вход программе подается строка текста, содержащая натуральные числа, расположенные по неубыванию. Из строки 
формируется список чисел. Напишите программу для подсчета количества разных элементов в списке.

Формат входных данных
На вход программе подается строка текста, содержащая натуральные числа, разделенные символом пробела, расположенные 
по неубыванию.

Формат выходных данных
Программа должна вывести одно число – количество различных элементов списка.

Примечание. Задачу можно решить без использования дополнительной памяти (без списка, множества).

Sample Input 1:

1 1 1 2 2 2 2 3 3 3
Sample Output 1:

3
Sample Input 2:

2 2 5 5 5 5 8 10 10
Sample Output 2:

4
Sample Input 3:

1
Sample Output 3:

1'''

# print(len(set(input().split())))

'''Орел и решка
Дана строка текста, состоящая из букв русского алфавита "О" и "Р". Буква "О" – соответствует выпадению Орла, а 
буква "Р" – соответствует выпадению Решки. Напишите программу, которая подсчитывает наибольшее количество подряд 
выпавших Решек.

Формат входных данных
На вход программе подается строка текста, состоящая из букв русского алфавита "О" и "Р".

Формат выходных данных
Программа должна вывести наибольшее количество подряд выпавших Решек.

Примечание. Если выпавших Решек нет, то необходимо вывести число 00.

Sample Input 1:

ОРРОРОРООРРРО
Sample Output 1:

3
Sample Input 2:

ООООООРРРОРОРРРРРРР
Sample Output 2:

7
Sample Input 3:

ООООРРРРОРОРРРРРРРРООРОРОРРРРРРРРРРРРРРРРРРРРРРРРРРРРРРР
Sample Output 3:

31'''

# print( max(len(i) for i in input().split('О')))

'''Камень, ножницы, бумага
Тимур и Руслан пытаются разделить фронт работы по курсу "Python для профессионалов". Для этого они решили сыграть в 
камень, ножницы и бумагу. Помогите ребятам бросить честный жребий и определить, кто будет делать очередной модуль 
нового курса.

Формат входных данных
На вход программе подаются две строки текста, содержащие слова "камень", "ножницы" или "бумага". На первой строке
 записан выбор Тимура, на второй – выбор Руслана.

Формат выходных данных
Программа должна вывести результат жеребьёвки, то есть кто победит Тимур, Руслан или они сыграют вничью.

Примечание. Правила игры стандартные: камень побеждает ножницы, но проигрывает бумаге, а ножницы побеждают бумагу.
Sample Input 1:

камень
бумага
Sample Output 1:

Руслан
Sample Input 2:

камень
камень
Sample Output 2:

ничья
Sample Input 3:

камень
ножницы
Sample Output 3:

Тимур'''

# a = input()
# b = input()
#
# if a == 'камень' and b == 'ножницы':
#     print('Тимур')
# elif a == 'ножницы' and b == 'бумага':
#     print('Тимур')
# elif a == 'бумага' and b == 'камень':
#     print('Тимур')
# elif a == b:
#     print('ничья')
# else:
#     print('Руслан')
#
# d = {'камень': 'ножницы', 'ножницы': 'бумага', 'бумага': 'камень'}
# a, b = input(), input()
# print('Тимур' if d[a] == b else 'Руслан' if d[b] == a else 'ничья')


'''Камень, ножницы, бумага, ящерица, Спок
Проиграв 1010 раз Тимуру, Руслан понял, что так дело дальше не пойдет, и решил усложнить игру. Теперь Тимур и Руслан 
играют в игру Камень, ножницы, бумага, ящерица, Спок. Помогите ребятам вновь бросить честный жребий и определить, кто 
будет делать следующий модуль в новом курсе.

Формат входных данных
На вход программе подаются две строки текста, содержащие по одному слову из перечня "камень", "ножницы", "бумага", 
"ящерица" или "Спок". На первой строке записан выбор Тимура, на второй – выбор Руслана.

Формат выходных данных
Программа должна вывести результат жеребьёвки: кто победил - Тимур или Руслан, или они сыграли вничью.

Примечание. Правила игры стандартные: ножницы режут бумагу. Бумага заворачивает камень. Камень давит ящерицу, а ящерица
 травит Спока, в то время как Спок ломает ножницы, которые, в свою очередь, отрезают голову ящерице, которая ест 
 бумагу, на которой улики против Спока. Спок испаряет камень, а камень, разумеется, затупляет ножницы.

Sample Input 1:

ящерица
камень
Sample Output 1:

Руслан
Sample Input 2:

Спок
камень
Sample Output 2:

Тимур
Sample Input 3:

ножницы
ножницы
Sample Output 3:

ничья'''

# a = input()
# b = input()
#
# if a == 'камень' and b == 'ножницы':
#     print('Тимур')
# elif a == 'ножницы' and b == 'бумага':
#     print('Тимур')
# elif a == 'бумага' and b == 'камень':
#     print('Тимур')
# elif a == b:
#     print('ничья')
# elif a == 'ящерица' and b == 'Спок':
#     print('Тимур')
# elif a == 'Спок' and b == 'ножницы':
#     print('Тимур')
# elif a == 'Спок' and b == 'камень':
#     print('Тимур')
# elif a == 'ящерица' and b == 'бумага':
#     print('Тимур')
# elif a == 'камень' and b == 'ящерица':
#     print('Тимур')
# elif a == 'ножницы' and b == 'ящерица':
#     print('Тимур')
# elif a == 'Спок' and b == 'ножницы':
#     print('Тимур')
# else:
#     print('Руслан')
#
# d = {'ножницы': ['бумага', 'ящерица'], 'бумага': ['камень', 'Спок'], 'камень': ['ящерица', 'ножницы'],
#      'ящерица': ['Спок', 'бумага'], 'Спок': ['ножницы', 'камень']}
# a, b = input(), input()
# print('Тимур' if b in d[a] else 'Руслан' if a in d[b] else 'ничья')

 # Искусственный интеллект Антон, созданный Гилфойлом, взломал сеть умных холодильников.
# Теперь он использует их в качестве серверов "Пегого дудочника".
# Помогите владельцу фирмы отыскать все зараженные холодильники.
#
# Для каждого холодильника существует строка с данными, состоящая из строчных букв и цифр,
# и если в ней присутствует слово "anton" (необязательно рядом стоящие буквы, главное наличие последовательности букв),
# то холодильник заражен и нужно вывести номер холодильника, нумерация начинается с единицы
#
# Формат входных данных
# В первой строке подаётся число nn – количество холодильников.
# В последующих nn строках вводятся строки, содержащие латинские строчные буквы и цифры,
# в каждой строке от 55 до 100100 символов.
#
# Формат выходных данных
# Программа должна вывести номера зараженных холодильников через пробел.
# Если таких холодильников нет, ничего выводить не нужно.
num = int(input())
strings = [' '.join(input()) for _ in range(num)]


def is_anton(string):
    anton = 'anton'
    list_symbols_anton = []
    _index = 0
    for s in string:
        if _index == len(anton):
            break
        if s == anton[_index]:
            list_symbols_anton.append(s)
            _index += 1
    return list_symbols_anton and ''.join(list_symbols_anton) == anton


result = []
for index, elem in enumerate(strings, 1):
    if is_anton(elem):
        result.append(index)
print(*result)


for i in range(int(input())):
    s, virus, x  = input(), 'anton', 0
    for sym in s:
        if sym == virus[x]:
            x += 1
        if x == 5:
            print(i + 1, end=' ')
            break



