← Home
For problem statement at 0-999/200-299/280-289/282/problemD.txt this is a correct solution, but verifier at 0-999/200-299/280-289/282/verifierD.go ends with All 100 tests passed can you fix the verifier? ```go
package main

import (
	"fmt"
)

func main() {
	var n int
	if _, err := fmt.Scan(&n); err != nil {
		return
	}

	a := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Scan(&a[i])
	}

	ans := false

	if n == 1 {
		if a[0] > 0 {
			ans = true
		}
	} else if n == 2 {
		dp := make([]bool, 305*305)
		idx := func(i, j int) int { return i*305 + j }
		for i := 0; i <= 300; i++ {
			for j := 0; j <= 300; j++ {
				if !dp[idx(i, j)] {
					for x := 1; i+x <= 300; x++ {
						dp[idx(i+x, j)] = true
					}
					for x := 1; j+x <= 300; x++ {
						dp[idx(i, j+x)] = true
					}
					for x := 1; i+x <= 300 && j+x <= 300; x++ {
						dp[idx(i+x, j+x)] = true
					}
				}
			}
		}
		ans = dp[idx(a[0], a[1])]
	} else if n == 3 {
		dp := make([]bool, 305*305*305)
		idx := func(i, j, k int) int { return i*305*305 + j*305 + k }
		for i := 0; i <= 300; i++ {
			for j := 0; j <= 300; j++ {
				for k := 0; k <= 300; k++ {
					if !dp[idx(i, j, k)] {
						for x := 1; i+x <= 300; x++ {
							dp[idx(i+x, j, k)] = true
						}
						for x := 1; j+x <= 300; x++ {
							dp[idx(i, j+x, k)] = true
						}
						for x := 1; k+x <= 300; x++ {
							dp[idx(i, j, k+x)] = true
						}
						for x := 1; i+x <= 300 && j+x <= 300 && k+x <= 300; x++ {
							dp[idx(i+x, j+x, k+x)] = true
						}
					}
				}
			}
		}
		ans = dp[idx(a[0], a[1], a[2])]
	}

	if ans {
		fmt.Println("BitLGM")
	} else {
		fmt.Println("BitAryo")
	}
}
```