#include <bits/stdc++.h>
using namespace std;
template <class T>
ostream &operator<<(ostream &os, const vector<T> &v) {
  for (T i : v) os << i << ' ';
  return os;
}
template <class T>
ostream &operator<<(ostream &os, const set<T> &v) {
  for (T i : v) os << i << ' ';
  return os;
}
template <class T, class S>
ostream &operator<<(ostream &os, const pair<T, S> &v) {
  os << v.first << ' ' << v.second;
  return os;
}
template <class T, class S>
ostream &operator<<(ostream &os, const map<T, S> &v) {
  for (auto i : v) os << '(' << i.first << "=>" << i.second << ')' << ' ';
  return os;
}
void countSmallerRight(vector<int> &A, int len) {
  multiset<int> s;
  vector<int> countSmaller(len);
  for (int i = len - 1; i >= 0; i--) {
    s.insert(A[i]);
    auto it = s.lower_bound(A[i]);
    countSmaller[i] = distance(s.begin(), it);
  }
  for (int i = len - 1; i >= 0; i--) {
    if (countSmaller[i] % 2 == 0)
      cout << "Mike\n";
    else
      cout << "Ann\n";
  }
}
const int INF = 0x3f3f3f3f, MOD = 1e9 + 7;
int main() {
  string s;
  cin >> s;
  vector<int> A;
  for (int i = 0; i < s.size(); i++) {
    A.push_back(s[i] - 'a');
  }
  int n = s.size();
  map<int, int> m;
  for (int i = 0; i < n; i++) {
    int c = 0;
    m[A[i]]++;
    for (auto x : m) {
      if (x.first == A[i]) {
        break;
      } else {
        c++;
        break;
      }
    }
    if (c % 2 == 0)
      cout << "Mike\n";
    else
      cout << "Ann\n";
  }
  return 0;
}
