#include<bits/stdc++.h>
#define reg register int
#define ll long long
using namespace std;
template <typename T> inline void read(T &x){
x=0;
char c=getchar();bool flg=0;
for(;!isdigit(c);c=getchar()){if(c=='-'){flg=1;}}
for(;isdigit(c);c=getchar()){x=(x<<1)+(x<<3)+c-'0';}
if(flg){x=-x;}
}
template<typename T> inline void write(T x){
char F[200];
register T cnt=0,tmp=x>0?x:-x;
if(tmp==0){putchar('0');return;}
if(x<0){putchar('-');}
while(tmp>0){
F[cnt++]=tmp%10+'0';
tmp/=10;
}
while(cnt>0){putchar(F[--cnt]);}
}
int T,n,ans,sum[25];
void dfs(int x){
if(x>=ans){return;}
int k=0;
for(reg i=3;i<=14;i++){
if(sum[i]==0){k=0;}
else{
k++;
if(k>=5){
for(reg j=i;j>=i-k+1;j--){sum[j]--;}
dfs(x+1);
for(reg j=i;j>=i-k+1;j--){sum[j]++;}
}
}
}
k=0;
for(reg i=3;i<=14;i++){
if(sum[i]<=1){k=0;}
else{
k++;
if(k>=3){
for(reg j=i;j>=i-k+1;j--){sum[j]-=2;}
dfs(x+1);
for(reg j=i;j>=i-k+1;j--){sum[j]+=2;}
}
}
}
k=0;
for(reg i=3;i<=14;i++){
if(sum[i]<=2){k=0;}
else{
k++;
if(k>=2){
for(reg j=i;j>=i-k+1;j--){sum[j]-=3;}
dfs(x+1);
for(reg j=i;j>=i-k+1;j--){sum[j]+=3;}
}
}
}
for(reg i=2;i<=14;i++){
if(sum[i]<=3){
if(sum[i]<=2){continue;}
sum[i]-=3;
for(reg j=2;j<=15;j++){
if(sum[j]<=0||j==i){continue;}
sum[j]--;
dfs(x+1);
sum[j]++;
}
for(reg j=2;j<=14;j++){
if(sum[j]<=1||j==i){continue;}
sum[j]-=2;
dfs(x+1);
sum[j]+=2;
}
sum[i]+=3;
}else{
sum[i]-=3;
for(reg j=2;j<=15;j++){
if(sum[j]<=0||j==i){continue;}
sum[j]--;
dfs(x+1);
sum[j]++;
}
for(reg j=2;j<=14;j++){
if(sum[j]<=1||j==i){continue;}
sum[j]-=2;
dfs(x+1);
sum[j]+=2;
}
sum[i]+=3;
sum[i]-=4;
for(reg j=2;j<=15;j++){
if(sum[j]<=0||j==i){continue;}
sum[j]--;
for (int k=2;k<=15;k++){
if(sum[k]<=0||j==k){continue;}
sum[k]--;
dfs(x+1);
sum[k]++;
}
sum[j]++;
}
for(reg j=2;j<=14;j++){
if(sum[j]<=1||j==i)continue;
sum[j]-=2;
for(reg k=2;k<=14;k++){
if(sum[k]<=1)continue;
sum[k]-=2;
dfs(x+1);
sum[k]+=2;
}
sum[j]+=2;
}
sum[i]+=4;
}
}
for(reg i=2;i<=15;i++){
if(sum[i]){x++;}
}
ans=min(ans,x);
}
int main(){
freopen("P2540.in","r",stdin);
read(T),read(n);
while(T--){
ans=INT_MAX;
int x,y;
memset(sum,0,sizeof(sum));
for(reg i=1;i<=n;i++){
read(x),read(y);
if(x==0){sum[15]++;}
else if(x==1){sum[14]++;}
else{sum[x]++;}
}
dfs(0);
write(ans),putchar('\n');
}
}