#include <bits/stdc++.h>
#define all(a) (a).begin(),(a).end()
#define rep(i,n) for(int i=0;i<(n);i++)
using namespace std;
typedef pair <int,int> pii;
#define X first
#define Y second

int main(){
  char m[501];
  scanf("%s",m);
  int len=strlen(m);
  int lev=0;
  int flag=0;

  stack <char> s;
  rep(i,len){
    s.push(m[i]);
    lev++;
    char t1=s.top();
    s.pop();
    if(s.empty()){
      s.push(t1);
      continue;
    }

    char t2=s.top();
    s.pop();
    if(s.empty()){
      s.push(t2);
      s.push(t1);
      continue;
    }

    char t3=s.top();
    s.pop();
    
    if(t1=='w' && t2=='e' && t3=='m'){
      lev-=3;
      if(lev==0)
	flag++;
      continue;
    }
    
    s.push(t3);
    s.push(t2);
    s.push(t1);
  }
  printf("%s\n",(s.empty()&&flag==1)?"Cat":"Rabbit");
}
### Prompt

Generate a CPP solution to the following problem:

Example

Input

mmemewwemeww


Output

Cat

### Response

```cpp
#include <bits/stdc++.h>
#define all(a) (a).begin(),(a).end()
#define rep(i,n) for(int i=0;i<(n);i++)
using namespace std;
typedef pair <int,int> pii;
#define X first
#define Y second

int main(){
  char m[501];
  scanf("%s",m);
  int len=strlen(m);
  int lev=0;
  int flag=0;

  stack <char> s;
  rep(i,len){
    s.push(m[i]);
    lev++;
    char t1=s.top();
    s.pop();
    if(s.empty()){
      s.push(t1);
      continue;
    }

    char t2=s.top();
    s.pop();
    if(s.empty()){
      s.push(t2);
      s.push(t1);
      continue;
    }

    char t3=s.top();
    s.pop();
    
    if(t1=='w' && t2=='e' && t3=='m'){
      lev-=3;
      if(lev==0)
	flag++;
      continue;
    }
    
    s.push(t3);
    s.push(t2);
    s.push(t1);
  }
  printf("%s\n",(s.empty()&&flag==1)?"Cat":"Rabbit");
}
```