Numim un vector cu elemente dacă sumele xor pe prefixe constituie un vector cu elemente distincte. Formal, dacă (aici, semnul reprezintă operația xor), atunci vectorul conține exact elemente distincte.
Cerință
Se dă un vector și un număr , vreți să-l faceți folosind un număr oarecare (posibil ) de operații de următorul tip:
- se aleg 2 numere și astfel încât și se înlocuiește cu .
Aflați numărul minim de operații necesare ca să transformați vectorul într-un vector .
Date de intrare
Pe prima linie se află (numărul de test cases). Pe prima linie a fiecărui test case se află un număr , iar pe următoarea linie se află exact numere separate prin câte un spațiu.
Date de ieșire
Se vor afișa linii, răspunsurile la cele test case-uri.
Restricții și precizări
- Se garantează faptul că suma -urilor pe toate testcase-urile este .
Exemplu
stdin
4
3
1 3 0
2
0 0
3
1 2 3
10
100 34 2 4 1 5 0 12 9 10
stdout
1
1
0
2
Explicație
Vectorul din primul test case arată în felul următor: . Dacă alegem și , atunci vectorul va arăta așa: .
În al -lea test case vectorul are deja toate elementele distincte.