#include <bits/stdc++.h>
using namespace std;
#define FAST_IO ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define endl '\n'
void fac(long long no,long long p)
{
long long sum = no*(no+1)/2;
cout << sum - p << endl;
}
int main() {
FAST_IO;
long long t;
cin >> t;
while(t--)
{
long long n;
cin >> n;
long long arr[n];
for(int i=0;i<n;i++)
{
long long p;
cin >> p;
if(p < 0)
arr[i] = -p;
else
arr[i] = p;
}
long long count = 0;
for(long long i=0;i<n;i++)
{
if(arr[i] % 4 == 2)
{
count += 1;
for(long long j = i+1;j<n;j++)
{
if(arr[j] %2 != 0)
count += 1;
else
break;
}
}
else if(arr[i] %2 != 0)
{
int flag = 0;
for(long long j=i+1;j<n;j++)
{
if(flag == 0)
{
if(arr[j] == 0)
break;
else if(arr[j]%4 == 2)
{
count += 1;
flag = 1;
}
}
if(flag == 1)
{
if(arr[j]%2 != 0)
count += 1;
else
break;
}
}
}
}
fac(n,count);
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgRkFTVF9JTyBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiNkZWZpbmUgZW5kbCAnXG4nCnZvaWQgZmFjKGxvbmcgbG9uZyBubyxsb25nIGxvbmcgcCkKewogICAgbG9uZyBsb25nIHN1bSA9IG5vKihubysxKS8yOwogICAgY291dCA8PCBzdW0gLSBwIDw8IGVuZGw7Cn0KCiAKaW50IG1haW4oKSB7CiAgICBGQVNUX0lPOwoJbG9uZyBsb25nIHQ7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlKHQtLSkKICAgIHsKICAgICAgICBsb25nIGxvbmcgbjsKICAgICAgICBjaW4gPj4gbjsKICAgICAgICBsb25nIGxvbmcgYXJyW25dOwogICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspIAogICAgICAgIHsKICAgICAgICAgICAgbG9uZyBsb25nIHA7CiAgICAgICAgICAgIGNpbiA+PiBwOwogICAgICAgICAgICBpZihwIDwgMCkKICAgICAgICAgICAgYXJyW2ldID0gLXA7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgYXJyW2ldID0gcDsKICAgICAgICB9CiAgICAgICAgbG9uZyBsb25nIGNvdW50ICA9IDA7CiAgICAgICAgZm9yKGxvbmcgbG9uZyBpPTA7aTxuO2krKykKICAgICAgICB7CiAgICAgICAgICAgIGlmKGFycltpXSAlIDQgPT0gMikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY291bnQgKz0gMTsKICAgICAgICAgICAgICAgIGZvcihsb25nIGxvbmcgaiA9IGkrMTtqPG47aisrKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmKGFycltqXSAlMiAhPSAwKQogICAgICAgICAgICAgICAgICAgIGNvdW50ICs9IDE7CiAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYoYXJyW2ldICUyICE9IDApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGludCBmbGFnID0gMDsKICAgICAgICAgICAgICAgIGZvcihsb25nIGxvbmcgaj1pKzE7ajxuO2orKykKICAgICAgICAgICAgICAgIHsgICAKICAgICAgICAgICAgICAgICAgICBpZihmbGFnID09IDApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZihhcnJbal0gPT0gMCkKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYoYXJyW2pdJTQgPT0gMikKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQgKz0gMTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWcgPSAxOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmKGZsYWcgPT0gMSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGFycltqXSUyICE9IDApCiAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ICs9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZhYyhuLGNvdW50KTsKICAgIH0KICAgIHJldHVybiAwOwp9