#include<bits/stdc++.h>
using namespace std;
int T,n;
int cha,sa,sb,sc;
const int N=100005;
bool a[N],b[N];
bool sca[N],scb[N];
string gg;
int an;
void A()
{
	for(int i=1;i<=n;i++)
	{
		if(b[i]==a[1])
		{
			an++;
		}
	}
	cout<<an;
}
void B()
{
	sa=sb=0;
	for(int i=1;i<=n;i++)
	{
		if(!sca[i])
		{
			an+=(a[i]==b[i]);
		}
		else
		{
			sa+=a[i];
			sb+=b[i];
		}
	}
	cout<<an+min(sa,sb)+min(n-sa,n-sb);
}
void C()
{
	int wa,wb;
	sa=sb=0;
	for(int i=1;i<=n;i++)
	{
		
		if(!sca[i])
		{
			wa=i*10+sca[i];
		}
		else
		{
			sa+=sca[i];
		}
		if(!scb[i])
		{
			wb=i*10+scb[i];
		}
		else
		{
			sb+=scb[i];
		}
	}
	cout<<(wa%10==wb%10)+min(sa,sb)+min(n-sa-1,n-sb-1);
}
void D()
{
}
void inc()
{
	sc=cha=sb=sa=0;
	cin>>n;
	cin>>gg;
	for(int i=1;i<=n;i++)
	{
		a[i]=(gg[i-1]=='1');
		if(a[i]!=a[1])
		{
			cha=1;
		}
	}
	cin>>gg;
	for(int i=1;i<=n;i++)
	{
		b[i]=(gg[i-1]=='1');
	} 
	cin>>gg;
	for(int i=1;i<=n;i++)
	{
		sa+=(sca[i]=(gg[i-1]=='1'));
	}
	cin>>gg;
	for(int i=1;i<=n;i++)
	{
		sb+=(scb[i]=(gg[i-1]=='1'));
	}
	for(int i=1;i<=n;i++)
	{
		if(sca[i]!=scb[i])
		{
			sc=1;
			break;
		}
	}
	an=0;
}
int main()
{
	freopen("edit.in","r",stdin);
	freopen("edit.out","w",stdout);
	for(cin>>T;T;T--)
	{
		inc();
		if(!cha)
		{
			A();
		}
		else
		{
			if(!sc)
			{
				B();
			}
			else
			{
				if(sa==n-1&&sb==n-1)
				{
					C();
				}
				else
				{
					D();
				}
			}
		}
		cout<<"\n";
	}
	return 0;
}
