바나나

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

"코드 몽키(code monkey)"라는 표현은 프로그래밍을 잘 모르는 프로그래머를 가리킬 때 쓰이곤 한다. 하지만 이는 원숭이에게 억울한 일이다. 흔히 생각하는 것과 달리 원숭이는 꽤 똑똑하며, 단지 오해받아 왔을 뿐이다. 아마도 원숭이가 영어가 아니라 원숭이 언어만 사용하기 때문일 것이다. 당신이 할 일은 원숭이 언어 사전을 만들어 사람과 원숭이가 서로를 이해하도록 돕는 것이다. 주어진 각 단어에 대해, 그 단어가 올바른 원숭이 언어 단어인지 판별하라.

원숭이 언어의 철자 규칙은 매우 단순하다. 어떤 문자열이 원숭이 언어 단어가 되는 필요충분조건은 다음 규칙으로 만들어질 수 있다는 것이다.

  1. 원숭이 언어 단어는 하나의 A-단어이며, 그 뒤에 문자 N과 또 다른 원숭이 언어 단어가 선택적으로 이어질 수 있다.
  2. A-단어는 문자 A 하나이거나, 문자 B 뒤에 원숭이 언어 단어가 오고 다시 그 뒤에 문자 S가 오는 형태이다.

예를 들면 다음과 같다.

  • A는 A-단어이므로 원숭이 언어 단어이다.
  • ANA는 A-단어 A, 문자 N, 원숭이 언어 단어 A로 이루어지므로 원숭이 언어 단어이다.
  • ANANA는 A-단어 A, 문자 N, 원숭이 언어 단어 ANA로 이루어지므로 원숭이 언어 단어이다.
  • BANANAS는 문자 B 뒤에 원숭이 언어 단어 ANANA가 오고 다시 그 뒤에 S가 오는 A-단어이므로 원숭이 언어 단어이다.

입력

각 줄에는 대문자로 이루어진 단어가 하나씩 주어진다. 단어 X를 만나면 읽기를 멈춘다. X 자체는 원숭이 언어 단어가 아니며 아무것도 출력하지 않는다.

출력

X 이전의 각 단어에 대해, 올바른 원숭이 언어 단어이면 YES를, 아니면 NO를 한 줄에 하나씩 출력한다.