이진 가계도에서 두 사람의 번호와 두 번째 사람의 성별이 주어지면 두 번째 사람이 첫 번째 사람과 맺는 영문 친족 명칭을 출력합니다.
보통5트리수학구현아직 제출이 없습니다시간 제한1초메모리 제한256 MB영어에는 가족 관계를 가리키는 말이 많다. 기본 관계는 다음과 같다.
세대가 더 벌어지면 다음 규칙으로 넓힌다.
한 사람이 다른 사람에게 어떤 관계인지 출력하는 프로그램을 작성하라.
입력은 데이터 세트 하나 이상으로 이루어진다. 각 데이터 세트는 한 줄에 정수 A와 B (0≤A,B≤32767), 그리고 문자 하나로 주어진다. 첫 번째 정수가 음수인 줄은 입력의 끝을 뜻한다. 이 줄은 데이터 세트가 아니고 아무것도 출력하지 않는다.
두 정수는 사람 A와 사람 B를 가리킨다. 문자는 M 또는 F이고, 사람 B의 성별이 남자인지 여자인지 알려준다.
두 정수는 포화 이진 트리로 그린 가계도에서 A와 B가 있는 자리이다. 뿌리는 0번, 그 자식은 1번과 2번, 1번의 자식은 3번과 4번, 2번의 자식은 5번과 6번이고, 이렇게 한 층씩 왼쪽에서 오른쪽으로 번호를 매긴다. 번호를 매기는 방식은 아래 그림과 같다. 이 트리의 부모 자식 관계가 가족의 부모 자식 관계이다.

데이터 세트마다 B가 A에게 어떤 관계인지 한 줄에 출력한다. 답은 "self", "sister", "brother", "daughter", "son", "mother", "father", "niece", "nephew", "aunt", "uncle", "cousin", "grand", "great-", "1st", "2nd", "3rd", "once removed", "twice removed", "thrice removed"만 써서 만든다. "great-" 접두사는 두 번까지만 붙일 수 있다. "1st", "2nd", "3rd"를 쓰면 뒤에 오는 부분과 공백 한 칸으로 띄운다. "once removed", "twice removed", "thrice removed"를 쓰면 앞에 오는 부분과 공백 한 칸으로 띄운다. 위 제한 안에서 B가 A에게 어떤 관계인지 나타낼 수 없으면 "kin"을 출력한다.