For problem statement at 0-999/800-899/850-859/850/problemC.txt this is a correct solution, but verifier at 0-999/800-899/850-859/850/verifierC.go ends with Test 5 failed
Input:
3
17 2 12
Expected:
Arpa
Got:
Mojtaba
exit status 1 can you fix the verifier? ```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
}
```