```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var t int
fmt.Fscan(in, &t)
for ; t > 0; t-- {
var n int
fmt.Fscan(in, &n)
a := make([]int, n)
twos := 0
for i := 0; i < n; i++ {
fmt.Fscan(in, &a[i])
if a[i] == 2 {
twos++
}
}
if twos%2 != 0 {
fmt.Fprintln(out, -1)
} else {
target := twos / 2
curr := 0
for k := 1; k < n; k++ {
if a[k-1] == 2 {
curr++
}
if curr == target {
fmt.Fprintln(out, k)
break
}
}
}
}
}
```