마법 버섯
면접 대비시간 제한2초메모리 제한1024 MB
주어진 N개의 수마다 피보나치 수열(1, 1, 2, 3, 5, ...)에 속하는지 판별하여 Yes 또는 No를 출력합니다.
문제
루크 행성에는 작은 요정들의 대기업이 있다. 이 기업의 요정들은 오랜 세월 마법 버섯 밭을 가꿔 왔다. 기업이 생긴 첫날부터 요정들은 매일 새 밭을 하나씩 만든다. 새 밭을 만든 뒤 이틀 동안은 버섯의 포자를 채취할 수 있고, 그 뒤로는 밭에서 버섯만 나온다.
일째에 만든 밭에 심긴 버섯의 수를 라고 하면, 로 계산된다. 첫째 날과 둘째 날에는 각각 1개, 셋째 날에는 2개, 넷째 날에는 3개, 다섯째 날에는 5개를 심었다. 이후에도 같은 방식으로 이어진다.
마법 버섯은 여행자가 루크 행성에서 가져갈 수 있는 가장 값진 기념품이다. 그래서 방문객은 누구나 먼저 마법 버섯 밭을 찾는다. 그런데 최근 가짜 마법 버섯에 대한 신고가 늘고 있다. 조사 결과 배후는 큰 요정들의 작은 기업이었다. 이 기업은 겉보기에는 구별되지 않지만 훨씬 가치가 떨어지는 버섯 밭을 만든다. 밭을 만들 때마다 경쟁 기업이 한 번도 심은 적이 없고 앞으로도 심을 수 없는 수만큼 버섯을 심는다.
밭에 심긴 버섯의 수가 주어졌을 때, 그 밭이 마법 밭인지 판별하는 프로그램을 작성하시오.
입력
첫 줄에 조사할 밭의 개수 ()이 주어진다. 다음 개의 줄에는 조사할 밭에 심긴 버섯의 수 가 한 줄에 하나씩 주어진다. 입력 파일의 크기는 1MB를 넘지 않는다.
출력
입력에 주어진 각 수에 대해, 그 수의 버섯이 심긴 밭이 마법 밭이면 Yes, 아니면 No를 출력하라. 답은 줄바꿈으로 구분한다.