#include<bits/stdc++.h>
using namespace std;
#define scan(x) scanf("%d",&x)
#define ll long long int
inline ll find_range_sum(ll L,ll R){
if(L>R)
return 0;
else{
return ((R)*(R+1)-(L-1)*(L))/2;
}
}
int main(){
int t;
scan(t);
assert(t<=100000);
while(t--){
int n,k,i;
scan(n); // size of permutation
scan(k); // missing number
assert(n<=1000000000&&n>=1);
assert(k>=0&&k<=1000000);
assert(k<=n);
ll sum = find_range_sum(1,n);
if(k){
vector<int> arr(k); // all k given number are distinct
set<int> S;
for(int i=0;i<k;i++){
scan(arr[i]);
S.insert(arr[i]);
}
//assert(S.size()==k);
sort(arr.begin(),arr.end()); // sort all the numbers
sum=find_range_sum(1,arr[0]-1); // initial possible sum
assert(arr[arr.size()-1] <= n);
assert(arr[0] > 0) ;
for(int i=1;i<k;i++){
if(arr[i]-arr[i-1]==1)
continue;
if(sum+1>=(arr[i-1]+1)){
sum+=find_range_sum(arr[i-1]+1,arr[i]-1); // finding the range of new possible sums.
}else{
// if sum not possible break
break;
}
}
if(sum+1 >= arr[k-1]+1) // if sum break out in between then even this sum is not possible because arr[k-1] > arr[x] where x < k-1. :P
sum+=find_range_sum(arr[k-1]+1,n);
//cout << sum << endl;
}
puts(sum%2?"Mom":"Chef");
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgc2Nhbih4KSBzY2FuZigiJWQiLCZ4KQojZGVmaW5lIGxsIGxvbmcgbG9uZyBpbnQgCgppbmxpbmUgbGwgZmluZF9yYW5nZV9zdW0obGwgTCxsbCBSKXsKCglpZihMPlIpCgkJcmV0dXJuIDA7CgllbHNlewoJCXJldHVybiAoKFIpKihSKzEpLShMLTEpKihMKSkvMjsKCX0KfQppbnQgbWFpbigpewoJaW50IHQ7CglzY2FuKHQpOwoJYXNzZXJ0KHQ8PTEwMDAwMCk7ICAgCgl3aGlsZSh0LS0pewoJCWludCBuLGssaTsKCQlzY2FuKG4pOyAvLyBzaXplIG9mIHBlcm11dGF0aW9uCgkJc2NhbihrKTsgLy8gbWlzc2luZyBudW1iZXIgCgkJYXNzZXJ0KG48PTEwMDAwMDAwMDAmJm4+PTEpOwoJCWFzc2VydChrPj0wJiZrPD0xMDAwMDAwKTsKCQlhc3NlcnQoazw9bik7CgkJbGwgc3VtID0gZmluZF9yYW5nZV9zdW0oMSxuKTsKCQlpZihrKXsKCQkJdmVjdG9yPGludD4gYXJyKGspOyAvLyBhbGwgayBnaXZlbiBudW1iZXIgYXJlIGRpc3RpbmN0CgkJCXNldDxpbnQ+IFM7CQkKCQkJZm9yKGludCBpPTA7aTxrO2krKyl7IAoJCQkJc2NhbihhcnJbaV0pOwoJCQkJUy5pbnNlcnQoYXJyW2ldKTsKCQkJfQoJCQkvL2Fzc2VydChTLnNpemUoKT09ayk7CgkJCXNvcnQoYXJyLmJlZ2luKCksYXJyLmVuZCgpKTsgIC8vIHNvcnQgYWxsIHRoZSBudW1iZXJzCgkJCXN1bT1maW5kX3JhbmdlX3N1bSgxLGFyclswXS0xKTsgLy8gaW5pdGlhbCBwb3NzaWJsZSBzdW0KCQkJYXNzZXJ0KGFyclthcnIuc2l6ZSgpLTFdIDw9IG4pOyAgCgkJCWFzc2VydChhcnJbMF0gPiAwKSA7CgkJCWZvcihpbnQgaT0xO2k8aztpKyspewoJCQkJaWYoYXJyW2ldLWFycltpLTFdPT0xKQoJCQkJCWNvbnRpbnVlOwoJCQkJaWYoc3VtKzE+PShhcnJbaS0xXSsxKSl7CgkJCQkJc3VtKz1maW5kX3JhbmdlX3N1bShhcnJbaS0xXSsxLGFycltpXS0xKTsgLy8gZmluZGluZyB0aGUgcmFuZ2Ugb2YgbmV3IHBvc3NpYmxlIHN1bXMuCgkJCQl9ZWxzZXsKCQkJCQkvLyBpZiBzdW0gbm90IHBvc3NpYmxlIGJyZWFrCgkJCQkJYnJlYWs7CgkJCQl9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoJCQl9CgkJCWlmKHN1bSsxID49IGFycltrLTFdKzEpIC8vIGlmIHN1bSBicmVhayBvdXQgaW4gYmV0d2VlbiB0aGVuIGV2ZW4gdGhpcyBzdW0gaXMgbm90IHBvc3NpYmxlIGJlY2F1c2UgYXJyW2stMV0gPiBhcnJbeF0gd2hlcmUgeCA8IGstMS4gOlAKCQkJCXN1bSs9ZmluZF9yYW5nZV9zdW0oYXJyW2stMV0rMSxuKTsKCQkJLy9jb3V0IDw8IHN1bSA8PCBlbmRsOwoJCX0KCQlwdXRzKHN1bSUyPyJNb20iOiJDaGVmIik7IAoJfQoJcmV0dXJuIDA7Cn0=