"코드 몽키(code monkey)"라는 표현은 프로그래밍을 잘 모르는 프로그래머를 가리킬 때 쓰이곤 한다. 하지만 이는 원숭이에게 억울한 일이다. 흔히 생각하는 것과 달리 원숭이는 꽤 똑똑하며, 단지 오해받아 왔을 뿐이다. 아마도 원숭이가 영어가 아니라 원숭이 언어만 사용하기 때문일 것이다. 당신이 할 일은 원숭이 언어 사전을 만들어 사람과 원숭이가 서로를 이해하도록 돕는 것이다. 주어진 각 단어에 대해, 그 단어가 올바른 원숭이 언어 단어인지 판별하라.
원숭이 언어의 철자 규칙은 매우 단순하다. 어떤 문자열이 원숭이 언어 단어가 되는 필요충분조건은 다음 규칙으로 만들어질 수 있다는 것이다.
N과 또 다른 원숭이 언어 단어가 선택적으로 이어질 수 있다.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를 한 줄에 하나씩 출력한다.