← Home
```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)
		}
	}
}
```