#include <bits/stdc++.h>
using namespace std;
long long powe(long long a, long long b) {
  long long n = 1;
  while (b) {
    if (b & 1) {
      n *= a;
      n %= 1000000007;
    }
    a *= a;
    a %= 1000000007;
    b /= 2;
  }
  return n;
}
template <typename T>
void print(vector<T> a) {
  for (auto x : a) {
    cout << x << " ";
  }
  cout << endl;
}
template <typename T>
void print(T a) {
  cout << a << endl;
}
template <typename T>
void input(vector<T> &a) {
  for (int i = 0; i < a.size(); i++) cin >> a[i];
}
template <typename T>
T gcd(T a, T b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long ncr(long long n, long long r) {
  long long num{1}, deno{1};
  r = r < n - r ? n - r : r;
  for (long long i = n - r + 1; i <= n; i++) {
    num *= i;
  }
  for (int i = 1; i <= r; i++) {
    deno *= i;
  }
  return (num / deno);
}
template <typename T>
void seive(T n, vector<T> &a) {
  bool prime[n + 1];
  memset(prime, true, sizeof(prime));
  for (T p = 2; p * p <= n; p++) {
    if (prime[p] == true) {
      for (T i = p * p; i <= n; i += p) prime[i] = false;
    }
  }
  for (T p = 2; p <= n; p++)
    if (prime[p]) a.push_back(p);
}
void solve() {
  int n;
  cin >> n;
  int cnt{0};
  for (int i = 0; i < n; i++) {
    int a, b;
    cin >> a >> b;
    if (a > b)
      cnt++;
    else if (b > a)
      cnt--;
    else
      continue;
  }
  if (cnt > 0) {
    cout << "Mishka" << endl;
  } else if (cnt < 0) {
    cout << "Chris" << endl;
  } else {
    cout << "Friendship is magic!^^" << endl;
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int tc{1};
  int xyz{1};
  while (tc--) {
    xyz++;
    solve();
  }
  return 0;
}
