#include<bits/stdc++.h>
using namespace std;
void solve(){
int n,ans=0,x;
cin>>n;
vector<int>cnt(110);
for(int i=1;i<=n;i++){
cin>>x;
cnt[x]++;
if(cnt[x]==3)ans++,cnt[x]=0;
}
cout<<ans<<endl;
}
int main(){
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
int t;
cin>>t;
//t=1;
while(t--)solve();
return 0;
}
#include<bits/stdc++.h>
using namespace std;
void solve(){
int n,k,x=0;
cin>>n>>k;
if(n==1){cout<<k<<endl;return ;}
int pos=k;
for(int i=0;i<30;i++){
if(k>=(1<<i))k-=(1<<i),x+=(1<<i);
}
cout<<x<<' '<<pos-x<<' ';
n-=2;
while(n){
cout<<0<<' ';
n--;
}
cout<<endl;
}
int main(){
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
int t;
cin>>t;
//t=1;
while(t--)solve();
return 0;
}
#include<bits/stdc++.h>
#define int long long
using namespace std;
int fac[300005],inv[300005];
const int mod=1e9+7;
int qkm(int a,int b){
int sum=1;
while(b){
if(b&1) sum=sum*a%mod;
b>>=1;
a=a*a%mod;
}
return sum%mod;
}
void init(){
fac[0]=1,inv[0]=1;
for(int i=1;i<300005;i++){
fac[i]=fac[i-1]*i%mod;
inv[i]=inv[i-1]*qkm(i,mod-2)%mod;
}
}
int C(int m,int n){
if(m<n||m<0)return 0;
return (inv[n]*fac[m])%mod*inv[m-n]%mod;
}
void solve(){
int n,k;
cin>>n>>k;
for(int i=1;i<=k;i++){
int x,y;
cin>>x>>y;
n-=2;
if(x==y)n++;
}
int ans=0;
for(int i=0;2*i<=n;i++){
ans+=((C(n,2*i)*fac[2*i])%mod*inv[i]%mod+mod)%mod;
ans%=mod;
}
cout<<ans<<endl;
}
signed main(){
ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
int t;
cin>>t;
init();
//t=1;
while(t--)solve();
return 0;
}