Создадим список $$$C$$$ длины $$$N$$$, состоящий из списков, изначально пустых. Хотим, чтобы список $$$C_i$$$ содержал номера мальчиков, живущих в $$$i$$$-й семье.
В цикле на $$$K$$$ итераций будем считывать информацию о детях. Если очередной ребёнок — это девочка, ничего не делаем. Иначе нужно добавить номер этого ребёнка в список, относящейся к семье, в которой живёт этот ребёнок.
Заведём список $$$ans$$$ длины $$$N$$$, изначально полностью заполненный значениями False. Хотим, чтобы в $$$ans_i$$$ лежал ответ на вопрос, будет ли $$$i$$$-й в порядке ввода ребёнок участвовать в «Гнездовских играх».
Теперь нужно заполнить список $$$ans$$$ корректными значениями. Переберём номер семьи $$$i$$$ и определим, какие дети из этой семьи будут участвовать в соревнованиях. У нас есть список мальчиков в этой семье — $$$C_i$$$.
Будем выводить ответ для каждого ребёнка в отдельной строке. Если $$$ans_i$$$ равен True, то $$$i$$$-й ребёнок участвует в «Гнездовских играх», и нужно вывести Yes. Иначе нужно вывести No.