/*__ _(_) __ _ ___ ___ _ _ __| | __ _ _ _| |_ ___
/ _` | |/ _` |/ _ \/ __| | | |/ _` |/ _` | | | | __/ _ \
| (_| | | (_| | (_) \__ \ |_| | (_| | (_| | |_| | || (_) |
\__, |_|\__,_|\___/|___/\__,_|\__,_|\__,_|\__,_|\__\___/
|___/ Accepted Code */
#include <bits/stdc++.h>
using namespace std;
int main()
{
int T;
scanf("%d", &T);
while (T--)
{
int n, x, nim=0, cnt=0;
scanf("%d", &n);
for (int i=1; i<=n; i++)
{
scanf("%d", &x);
if (x == 1) cnt++;
nim ^= x;
}
if (cnt == n)
{
if (n%2 == 0)
printf("1\n");
else
printf("-1\n");
}
else
{
if (nim > 0)
printf("1\n");
else
printf("-1\n");
}
}
return 0;
}
LypfXyBfKF8pIF9fIF8gIF9fXyAgX19fIF8gICBfICBfX3wgfCBfXyBfIF8gICBffCB8XyBfX18gIAogLyBfYCB8IHwvIF9gIHwvIF8gXC8gX198IHwgfCB8LyBfYCB8LyBfYCB8IHwgfCB8IF9fLyBfIFwgCnwgKF98IHwgfCAoX3wgfCAoXykgXF9fIFwgfF98IHwgKF98IHwgKF98IHwgfF98IHwgfHwgKF8pIHwKIFxfXywgfF98XF9fLF98XF9fXy98X19fL1xfXyxffFxfXyxffFxfXyxffFxfXyxffFxfX1xfX18vIAogfF9fXy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXB0ZWQgQ29kZSAgKi8KI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKICAgIGludCBUOwoKICAgIHNjYW5mKCIlZCIsICZUKTsKICAgIHdoaWxlIChULS0pCiAgICB7CiAgICAgICAgaW50IG4sIHgsIG5pbT0wLCBjbnQ9MDsKICAgICAgICBzY2FuZigiJWQiLCAmbik7CiAgICAgICAgZm9yIChpbnQgaT0xOyBpPD1uOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBzY2FuZigiJWQiLCAmeCk7CiAgICAgICAgICAgIGlmICh4ID09IDEpIGNudCsrOwogICAgICAgICAgICBuaW0gXj0geDsKICAgICAgICB9CiAgICAgICAgaWYgKGNudCA9PSBuKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKG4lMiA9PSAwKQogICAgICAgICAgICAgICAgcHJpbnRmKCIxXG4iKTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgcHJpbnRmKCItMVxuIik7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIGlmIChuaW0gPiAwKQogICAgICAgICAgICAgICAgcHJpbnRmKCIxXG4iKTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgcHJpbnRmKCItMVxuIik7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0KCg==