func_code_string: #include <bits/stdc++.h>   using namespace std;   map<long long, long long> bismarck, dp;   long long n;   void factorization(long long x) {     for (long long i = 2; i * i <= x; i++) {       if (x % i == 0) {         long long c = 0;         while (x % i == 0) {           c++;           x /= i;         }         dp[i] |= 1 << (c - 1);       }     }     if (x > 1) {       dp[x] |= 1;     }   }   long long grundy(long long x) {     if (x == 0) return 0;     if (bismarck.count(x)) return bismarck[x];     unordered_set<long long> s;     for (long long i = 0; x >> i; i++) {       s.insert(grundy(x >> i + 1 | (x & (1 << i) - 1)));     }     long long mex = 0;     while (s.count(mex)) mex++;     return bismarck[x] = mex;   }   int main() {     long long x, ans = 0;     cin >> n;     while (n--) {       cin >> x;       factorization(x);     }     for (auto t : dp) {       ans ^= grundy(t.second);     }     if (ans)       cout <<  Mojtaba ;     else       cout <<  Arpa ;   }   