← Home
```go
package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
)

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	scanner.Split(bufio.ScanWords)
	scanner.Scan()
	n := atoi(scanner.Text())
	a := make([]int, n)
	for i := 0; i < n; i++ {
		scanner.Scan()
		a[i] = atoi(scanner.Text())
	}

	primeExponents := make(map[int][]int)

	for _, num := range a {
		x := num
		for p := 2; p*p <= x; p++ {
			if x%p == 0 {
				cnt := 0
				for x%p == 0 {
					x /= p
					cnt++
				}
				primeExponents[p] = append(primeExponents[p], cnt)
			}
		}
		if x > 1 {
			primeExponents[x] = append(primeExponents[x], 1)
		}
	}

	totalXor := 0
	for _, exps := range primeExponents {
		sort.Ints(exps)
		g := 0
		for i := len(exps) - 1; i >= 0; i -= 2 {
			if i == 0 {
				g ^= exps[0]
			} else {
				g ^= (exps[i] - exps[i-1])
			}
		}
		totalXor ^= g
	}

	if totalXor != 0 {
		fmt.Println("Mojtaba")
	} else {
		fmt.Println("Arpa")
	}
}

func atoi(s string) int {
	n := 0
	for _, ch := range s {
		n = n*10 + int(ch-'0')
	}
	return n
}
```