#include<bits/stdc++.h>
using namespace std;
int T,n,ans,a[18],t[18];
inline void dfs(int cnt){
if(cnt>=ans) return;
for(int k=1;k<=3;k++){
for(int i=3;i<=13;i++){
if(a[i]<k) continue;
int t=i;
while(t<=13&&a[t+1]>=k) t++;
if((t-i+1)*k>=5){
for(int j=i;j<=t;j++) a[j]-=k;
dfs(cnt+1);
for(int j=i;j<=t;j++) a[j]+=k;
}
}
}
memset(t,0,sizeof t);
for(int i=1;i<=4;i++)
for(int j=2;j<=15;j++)
if(a[j]==i) t[i]++;
int d4=min(t[4],t[2]/2+t[1]/2),d3=min(t[3],t[2]+t[1]-2*d4);
cnt+=t[4];
cnt+=t[3];
cnt+=t[2]+t[1]-2*d4-d3;
ans=min(ans,cnt);
}
int main(){
cin>>T>>n;
while(T--){
memset(a,0,sizeof a);
ans=54;
for(int i=1,x,y;i<=n;i++)
scanf("%d%d",&x,&y),a[x]++;
a[14]=a[1],a[15]=a[0];
dfs(0);
printf("%d\n",ans);
}
return 0;
}