#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int s1[N],s2[N],t1[N],t2[N],v[N];
long long n,ans,flag;
void input()
{
char a;
for(int i=1;i<=n;i++){cin>>a;s1[i]=a-'0';}
for(int i=1;i<=n;i++){cin>>a;s2[i]=a-'0';}
for(int i=1;i<=n;i++){cin>>a;t1[i]=a-'0';}
for(int i=1;i<=n;i++){cin>>a;t2[i]=a-'0';}
}
bool check(int i)
{
if(t1[i]&&t1[i+1])
{
return true;
}
else
if(t2[i]&&t2[i+1]&&t1[i])
return true;
if(t2[i]&&t2[i+1])
{
return true;
}
else
if(t1[i]&&t1[i+1]&&t2[i])
return true;
return false;
}
void count(int start,int end)
{
int s10=0,s11=0,s20=0,s21=0;
for(int i=start;i<=end;i++)
{
s1[i] ? s11++ : s10++;
s2[i] ? s21++ : s20++;
}
ans+=min(s11,s21)+min(s10,s20);
}
int main()
{
// freopen("edit.in","r",stdin);
// freopen("edit.out","w",stdout);
int t;
cin>>t;
while(t--)
{
//ste();
ans=0;
flag=1;
long long start=0,end=0;
memset(v,0,sizeof(v));
cin>>n;
input();
for(int i=1;i<=n;i++)
{
if(check(i))
{
v[i]=1;
}
else
{
v[i]=0;
}
}
for(int i=1;i<=n;i++)
{
if(!v[i])
{
if(s1[i]==s2[i])
ans++;
}
else
{
start=end=i;
while(v[i]&&i<=n) end++,i++;
//cout<<start<<" "<<min(end,n)<<endl;
count(start,min(end,n));
}
}
cout<<ans<<"\n";
}
return 0;
}