#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <sstream>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <numeric>
#include <cctype>

// BEGIN CUT HERE
#ifdef _MSC_VER
#include <agents.h>
#endif
// END CUT HERE 

#define FOR(i, a, b) for(int i = (a); i < (int)(b); ++i)
#define rep(i, n) FOR(i, 0, n)
#define ALL(v) v.begin(), v.end()
#define REV(v) v.rbegin(), v.rend()
#define MEMSET(v, s) memset(v, s, sizeof(v))
#define MP make_pair
#define MT make_tuple
#define X first
#define Y second

using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> P;

string s;
int i;

bool cat(){
	if (s[i++] != 'm') return false;
	if (s[i] == 'm' && !cat()) return false;
	if (s[i++] != 'e') return false;
	if (s[i] == 'm' && !cat()) return false;
	return s[i++] == 'w';
}

int main(){
	while (cin >> s){
		int n = s.size();
		s += "$$$";
		i = 0;
		cout << (cat()&&i==n ? "Cat" : "Rabbit") << endl;
	}

	return 0;
}
### Prompt

Please create a solution in CPP to the following problem:

Example

Input

mmemewwemeww


Output

Cat

### Response

```cpp
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <sstream>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <numeric>
#include <cctype>

// BEGIN CUT HERE
#ifdef _MSC_VER
#include <agents.h>
#endif
// END CUT HERE 

#define FOR(i, a, b) for(int i = (a); i < (int)(b); ++i)
#define rep(i, n) FOR(i, 0, n)
#define ALL(v) v.begin(), v.end()
#define REV(v) v.rbegin(), v.rend()
#define MEMSET(v, s) memset(v, s, sizeof(v))
#define MP make_pair
#define MT make_tuple
#define X first
#define Y second

using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> P;

string s;
int i;

bool cat(){
	if (s[i++] != 'm') return false;
	if (s[i] == 'm' && !cat()) return false;
	if (s[i++] != 'e') return false;
	if (s[i] == 'm' && !cat()) return false;
	return s[i++] == 'w';
}

int main(){
	while (cin >> s){
		int n = s.size();
		s += "$$$";
		i = 0;
		cout << (cat()&&i==n ? "Cat" : "Rabbit") << endl;
	}

	return 0;
}
```