Problem:
MathJax.Hub.Config({ tex2jax: { inlineMath: [["$","$"], ["\\(","\\)"]], processEscapes: true }});

Problem A:
CatChecker

外見からねこかどうかわからない動物がいる. あなたは, 鳴き声がねこの鳴き声であればねこであり, そうでなければうさぎであると判定することにした.

ねこの鳴き声は次のように定義される.

"" (empty string) はねこの鳴き声である.

$X$, $Y$ がねこの鳴き声であれば 'm' + $X$ + 'e' + $Y$ + 'w' は猫の鳴き声である. ただし + は文字列の連結を表す.

以上で定義されるものだけがねこの鳴き声である.

BNF で表すとねこの鳴き声 $CAT$ は

$CAT$ := "" (empty string) $|$ 'm' + $CAT$ + 'e' + $CAT$ + 'w'

と定義される.

鳴き声を表す文字列 $S$ が与えられる. 鳴き声から動物が何であるか判定せよ.

Constraints

$S$ will contain between 1 and 500 characters, inclusive. Each character in $S$ will be 'm', 'e' or 'w'.

Input

入力は以下の形式で与えられる:

$S$

Output

$S$ が猫の鳴き声であれば "Cat", そうでなければ "Rabbit" と1 行に出力せよ.

Sample Input 1

mmemewwemeww

Sample Output 1

Cat

Sample Input 2

mewmew

Sample Output 2

Rabbit

Solution in C (judge verdict: Time Limit Exceeded)

/*
AizuOnline A2369
cat checker
*/
#include <stdio.h>
#include <string.h>

char S[501];

int ismew(char * s,int len)
{
  int i;

  if(len==0)return(1);
  if(len==3 && strncmp(S,"mew",3))return(1); 
    if(len > 2 && s[0]=='m' && s[len-1]=='w')
      {  
	for(i=1;i<len-1;i++)
	  if(s[i] == 'e')
	    if(ismew(&(s[1]),i-1) && ismew(&(s[i+1]),len-i-2))
	      return(1);
	return(0);
      }
    else
      return(0);
}

main()
{
  int ret;

  while(EOF != scanf("%s",S))
    {
      ret=ismew(S,strlen(S));

      printf("%s\n",ret?"Cat":"Rabbit");
    }
return(0);
}