#include <bits/stdc++.h>
#pragma GCC optimize("O3")
using namespace std;
using ll = long long;
using ld = long double;
using vi = vector<int>;
using vll = vector<ll>;
using pi = pair<int, int>;
using pll = pair<ll, ll>;
using matrix = vector<vll>;
constexpr ll MOD = 1000000007;
constexpr ll INI = -1;
constexpr ll IN = 350 + 10;
constexpr ll INF = 1e9 + 1;
constexpr ld EPS = 1e-9;
inline ll two(ll n) { return 1 << n; }
inline bool EQ(ld a, ld b) { return fabs(a - b) < EPS; }
inline bool is_set(ll n, ll k) { return (n >> k) & 1; }
inline void set_bit(ll &n, ll k) { n |= two(k); }
inline void unset_bit(ll &n, ll k) { n &= ~two(k); }
inline ll last_bit(ll n) { return n & (-n); }
inline ll ones(ll n) {
  ll res = 0;
  while (n && ++res) n -= last_bit(n);
  return res;
}
inline ll gcd(ll a, ll b) { return b == 0 ? a : gcd(b, a % b); }
inline ll lcm(ll a, ll b) { return a * (b / gcd(a, b)); }
string s;
int k;
int smallest[1000000];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cout.setf(ios::fixed);
  cout.precision(20);
  smallest[0] = 'z';
  cin >> s;
  for (int i = 1; i <= s.length(); ++i) {
    smallest[i] = s[i - 1];
    if (smallest[i] > smallest[i - 1]) smallest[i] = smallest[i - 1];
  }
  for (int i = 1; i <= s.length(); ++i) {
    if (smallest[i] < s[i - 1])
      cout << "Ann\n";
    else
      cout << "Mike\n";
  }
  return 0;
}
