우르두어 표기 검증

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

문제

우르두어는 나스탈리크체나 나스흐체로 적고, 오른쪽에서 왼쪽으로, 위에서 아래로 쓴다. 이 서체의 특징은 한 글자의 모양이 낱말 안에서 그 글자가 놓인 자리에 따라 달라진다는 점이다.

각 글자에는 홀로 쓸 때의 분리형이 있고, 그 밖에 첫 모양, 가운데 모양, 끝 모양이 최대 세 가지 더 있다. 예를 들어 "그림"을 뜻하는 우르두어 낱말을 로마자로 옮기면 tasviir이고, 오른쪽에서 왼쪽으로 읽으면 낱자는 ta, s, vaow, cchoTi yay, ray 순서다. 첫 글자 ta는 낱말의 처음이므로 첫 모양으로 쓴다. 두 번째 글자 s는 자음 사이에 놓이므로 가운데 모양을 쓰고, 세 번째 글자 vaow도 같은 이유로 가운데 모양을 쓴다. 네 번째 글자 cchoTi yay 앞에는 우르두어의 특별한 모음 두 개 중 하나인 vaow가 온다. alif와 vaow는 바로 뒤에 오는 글자를 반드시 첫 모양으로 쓰게 만드는 특별한 모음이다. 그래서 cchoTi yay는 낱말의 첫 글자가 아니지만 첫 모양으로 쓴다. 마지막 글자 ray는 낱말의 끝에 있으므로 끝 모양으로 쓴다.

글자와 모양이 늘어선 순서열을 받아 낱말을 올바르게 적었는지 판정하라.

이 문제에서는 우르두어 자모 38개에 11부터 3838까지 번호를 붙인다. 첫 번째 글자가 11, 두 번째 글자가 22이고, 마지막 글자가 3838이다. 네 가지 모양은 분리형 00, 첫 모양 11, 가운데 모양 22, 끝 모양 33으로 부호화한다. 어떤 모양으로 쓴 글자는 글자 번호에 44를 곱한 뒤 모양 번호를 더한 값 하나로 나타낸다.

특별한 모음은 글자 번호 113333이고, 그 두 글자 자신이 어떤 모양으로 쓰였는지는 상관없다. 길이가 MM인 낱말에서 ii번째 글자(1iM1 \le i \le M)에 필요한 모양은 다음 조건을 위에서부터 확인해 처음으로 들어맞는 것으로 정해진다.

  • M=1M = 1이면 그 글자는 분리형이다.
  • i=Mi = M이고 앞 글자가 특별한 모음이면 분리형이다.
  • i=Mi = M이고 앞 글자가 특별한 모음이 아니면 끝 모양이다.
  • i=1i = 1이거나 앞 글자가 특별한 모음이면 첫 모양이다.
  • 그 밖의 경우에는 가운데 모양이다.

모든 글자가 필요한 모양으로 쓰였으면 그 낱말은 올바르다.

입력

첫 줄에 테스트 케이스의 수 NN이 주어진다 (1N1001 \le N \le 100). 이어지는 NN개의 줄에는 각각 낱말의 길이 MM (1M201 \le M \le 20)과 그 낱말을 이루는 부호값 MM개가 공백으로 구분되어 주어진다. 부호값은 위에서 설명한 방식으로 만든 수이므로 44 이상 155155 이하다.

출력

각 테스트 케이스마다 한 줄씩 출력한다. 낱말을 올바르게 적었으면 Case #n: Yes를, 그렇지 않으면 Case #n: No를 출력한다. nn11부터 시작하는 테스트 케이스 번호다.