```go
package main
import "fmt"
func main() {
var t int
fmt.Scan(&t)
for test := 0; test < t; test++ {
var n int
fmt.Scan(&n)
S := make([]int, n)
for i := 0; i < n; i++ {
fmt.Scan(&S[i])
}
if n%2 == 1 {
fmt.Println(-1)
continue
}
var present [1024]bool
for i := 0; i < n; i++ {
present[S[i]] = true
}
found := false
var ans int
for k := 1; k < 1024; k++ {
ok := true
for i := 0; i < n; i++ {
news := S[i] ^ k
if !present[news] {
ok = false
break
}
}
if ok {
ans = k
found = true
break
}
}
if found {
fmt.Println(ans)
} else {
fmt.Println(-1)
}
}
}
```