#include <iostream>
#include <queue>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;

#define rep(i,n) for(int i = 0 ; i < (n) ; i++)


string s;
int p;

void f(){
	if( s[p] == 'm' ){
		p++;
		f();
		if ( s[p] != 'e' ) throw(0);
		p++;
		f();
		if( s[p] != 'w') throw(0);
		p++;
	}
}
int main(){
	cin >> s;
	s += "~";
	try{
		f();
		if( s.size()-1 > p ) throw(0);
		cout << "Cat" << endl;
	}catch(int err){
		cout << "Rabbit" << endl;
	}	
}
### Prompt

Construct a CPP code solution to the problem outlined:

Example

Input

mmemewwemeww


Output

Cat

### Response

```cpp
#include <iostream>
#include <queue>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;

#define rep(i,n) for(int i = 0 ; i < (n) ; i++)


string s;
int p;

void f(){
	if( s[p] == 'm' ){
		p++;
		f();
		if ( s[p] != 'e' ) throw(0);
		p++;
		f();
		if( s[p] != 'w') throw(0);
		p++;
	}
}
int main(){
	cin >> s;
	s += "~";
	try{
		f();
		if( s.size()-1 > p ) throw(0);
		cout << "Cat" << endl;
	}catch(int err){
		cout << "Rabbit" << endl;
	}	
}
```