#include <bits/stdc++.h>
using namespace std;
bool validK(int arr[], int n, int k) {
  int cnts1[1025];
  memset(cnts1, 0, sizeof(cnts1));
  for (int i = 0; i < n; i++) {
    cnts1[arr[i]]++;
  }
  int cnts2[1025];
  memset(cnts2, 0, sizeof(cnts2));
  for (int i = 0; i < n; i++) {
    if ((arr[i] ^ k) > 1024) {
      return false;
    }
    cnts2[arr[i] ^ k]++;
  }
  for (int i = 0; i < 1025; i++) {
    if (cnts1[i] != cnts2[i]) return false;
  }
  return true;
}
int getK(int arr[], int n) {
  for (int i = 1; i <= 2047; i++) {
    if (validK(arr, n, i)) {
      return i;
    }
  }
  return -1;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int t;
  cin >> t;
  while (t--) {
    int n;
    cin >> n;
    int arr[n];
    for (int i = 0; i < n; i++) cin >> arr[i];
    cout << getK(arr, n) << '\n';
  }
  return 0;
}
