Під час прибирання на горищі ваших батьків ви знайшли коробку з багатьма документами, що описують стосунки між вашими предками. На основі цих документів вам стало цікаво відповісти на низку запитань щодо стосунків, що випливають із вмісту документів. На щастя, всі ваші предки мають унікальні імена, тож багато висновків можна зробити без плутанини.
Вважається, що всі стосунки (явні чи неявні) задовольняють наступним вимогам:
Людина може бути або чоловіком, або жінкою, або мати невідому (невизначену за наявними даними) стать;
Людина може мати не більше одного подружжя (протилежної статі), і X є Y дружиною тоді і лише тоді, коли Y є X чоловіком;
Людина може мати не більше однієї матері та не більше одного батька, які можуть бути виведені з наданих даних;
Якщо у людини є мати і батько, то ці мати і батько перебувають у шлюбі;
Діти подружжя людини також є її дітьми;
Подружжя сина (чи дочки) не вважається дочкою (чи сином). Іншими словами, «сини» та «дочки» маються на увазі біологічні.
Надана інформація буде узгодженою, і ви можете вважати, що не існує прихованих стосунків, які не вказані явно або не випливають із вищевикладених правил узгодженості.
Перша частина вхідних даних складається з низки рядків, які описують відомі стосунки. Кожен рядок має вигляд:
NAME is NAME's RELATIONSHIP.
де NAME — це слово, яке складається з малих латинських літер (ніколи не 'is'), а RELATIONSHIP — це одне з наступного:
wife
husband
daughter
son
mother
father
Ця перша частина закінчується порожнім рядком. Ви можете вважати, що існує щонайменше один відомий зв'язок, і згадується не більше різних імен.
Далі йде список запитань (по одному в рядку) такого вигляду:
is NAME NAME's RELATIONSHIP?
де NAME — як і раніше, а RELATIONSHIP — одне з:
wife
husband
daughter
son
mother
father
niece: X є племінницею Y, якщо існують W і Z такі, що X — дочка W, а W і Y — різні діти Z.
nephew: X є племінником Y, якщо існують W і Z такі, що X — син W, а W і Y — різні діти Z.
grandfather: X є дідом Y, якщо існує Z такий, що X — батько Z, а Z — батько або мати Y.
grandmother: X є бабусею Y, якщо існує Z такий, що X — мати Z, а Z — батько або мати Y.
grandson: X є онуком Y, якщо існує Z такий, що X — син Z, а Z — дитина Y.
granddaughter: X є онукою Y, якщо існує Z такий, що X — дочка Z, а Z — дитина Y.
Усі імена в запитаннях згадуються у списку відомих зв'язків. Список запитань завершується кінцем файлу.
Для кожного запитання виведіть у рядку yes або no, якщо відповідь на питання можна визначити, або unknown, якщо відповідь може бути як так, так і ні через те, що стать відповідної особи (осіб), згаданої у питанні, не може бути визначена за відомими зв'язками.
Приклад 1