#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
pair<int, int> a[maxn + 1], b[maxn + 1];
pair<int, int> q[maxn + 1];
int tq = 0, n, m, x, y;
void read() {
  scanf("%d%d%d%d", &n, &m, &x, &y);
  for (int i = 1; i <= n; i++) scanf("%d%d", &a[i].first, &a[i].second);
  for (int i = 1; i <= m; i++) scanf("%d%d", &b[i].first, &b[i].second);
}
long long cross(int a, int b, int c, int d) {
  return 1ll * a * d - 1ll * b * c;
}
bool ok(pair<int, int> a, pair<int, int> b, pair<int, int> c) {
  return cross(b.first - a.first, b.second - a.second, c.first - a.first,
               c.second - a.second) < 0;
}
bool over(pair<int, int> a, pair<int, int> b, pair<int, int> c) {
  return cross(c.first - b.first, c.second - b.second, a.first - b.first,
               a.second - b.second) >= 0;
}
void work() {
  sort(a + 1, a + 1 + n);
  sort(b + 1, b + 1 + m);
  q[++tq] = pair<int, int>(0, 0);
  for (int i = 1; i <= m; i++) q[1].second = max(q[1].second, b[i].second);
  q[++tq] = b[1];
  for (int i = 2; i <= m; i++) {
    while (tq > 1 && ok(q[tq - 1], q[tq], b[i]) == 0) tq--;
    q[++tq] = b[i];
  }
  tq++;
  q[tq] = pair<int, int>(q[tq - 1].first, 0);
  int j = 1;
  for (int i = 1; i <= n; i++) {
    for (; j + 1 < tq && q[j + 1].first < a[i].first; j++)
      ;
    if (over(a[i], q[j], q[j + 1])) {
      puts("Max");
      return;
    }
    if (j + 1 < tq && a[i].first == q[j + 1].first &&
        over(a[i], q[j + 1], q[j + 2])) {
      puts("Max");
      return;
    }
  }
  puts("Min");
}
int main() {
  read();
  work();
  return 0;
}
