#include<bits/stdc++.h>
using namespace std;
#define pb push_back
#define pk pop_back
#define For(i,a,b) for(int i=(a);i<=(b);i++)
#define Rof(i,a,b) for(int i=(a);i>=(b);i--)
#define VG(i,p) for(int i=0;i<pq[p].size();i++)
#define G(i,p) for(auto i:pq[p])
#define ull unsigned long long
#define ll long long
#define Mp make_pair
#define fi first
#define se second
#define INF
#define MAXN 200001
#define WR(x) cerr<<x<<"\n";
#define WA cerr<<"meowwww!!\n";
#define C continue
int n; int qz[3][MAXN];
int Q(int l,int r,int kd,int st) { if(r>n)r=n; int rt=qz[st][r]-qz[st][l-1]; if(kd==1)return rt; return (r-l+1)-rt; }
string s1,s2,t1,t2;
main()
{
freopen("edit.in","r",stdin);
freopen("edit.out","w",stdout);
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int _;cin>>_;
For(__,1,_)
{
For(i,0,n+1)For(j,0,1)qz[j][i]=qz[j][i]=0;
cin>>n>>s1>>s2>>t1>>t2;
s1.insert(0," ");s2.insert(0," ");t1.insert(0," ");t2.insert(0," ");
For(i,1,n) { qz[1][i]=(s1[i]=='1'); } For(i,1,n) { qz[2][i]=(s2[i]=='1'); }
For(i,1,n) For(j,1,2) qz[j][i]+=qz[j][i-1];
int ans=0,lst1=1,lst2=1,lst=1; int r0=0,r1=0; int ps=-1;
bool fl=0;t1[n+1]='0';t2[n+1]='0';
For(i,1,n+1) {
if(t1[i]=='0'&&t2[i]=='0') {
int c00=Q(lst2,i-1,0,2),c01=Q(lst2,i-1,1,2),c10=Q(lst1,i-1,0,1),c11=Q(lst1,i-1,1,1);
if(ps==1) {
ans+=min(0,c00-r0); ans+=min(0,c01-r1); c01-=r1;c00-=r0; if(c00<0) {c01+=c00;c00=0;} if(c01<0) {c00+=c01;c01=0;}
}
else
{
ans+=min(0,c10-r0); ans+=min(0,c11-r1); c11-=r1;c10-=r0; if(c10<0) {c11+=c10;c10=0;} if(c11<0) {c10+=c11;c11=0;}
}
ans+=min(c10,c00);ans+=min(c11,c01);
if(i!=n+1) ans+=(s1[i]==s2[i]);
r0=r1=0;lst=i+1;lst1=i+1;lst2=i+1;ps=-1; C;
}
if(t1[i]=='0')
{
int n1=Q(lst,i,1,1),n0=Q(lst,i,0,1);
if(ps==2) { int h1=Q(lst1,i-1,1,1),h0=Q(lst1,i-1,0,1); ans+=min(0,h0-r0); ans+=min(0,h1-r1); h1-=r1;h0-=r0; if(h0<0) {h1+=h0;h0=0;} if(h1<0) {h0+=h1;h1=0;}
r0=h0+(s1[i]=='0');r1=h1+(s1[i]=='1');ans+=(r0+r1); }
else { r0+=n0;r1+=n1;ans+=(i-lst+1); }
lst=i+1;lst1=i+1;ps=1;
}
if(t2[i]=='0')
{
int n1=Q(lst,i,1,2),n0=Q(lst,i,0,2);
if(ps==1) { int h1=Q(lst2,i-1,1,2),h0=Q(lst2,i-1,0,2); ans+=min(0,h0-r0); ans+=min(0,h1-r1); h1-=r1;h0-=r0; if(h0<0) {h1+=h0;h0=0;} if(h1<0) {h0+=h1;h1=0;}
r0=h0+(s2[i]=='0');r1=h1+(s2[i]=='1');ans+=(r0+r1); }
else { r0+=n0;r1+=n1;ans+=(i-lst+1); }
lst=i+1;lst2=i+1;ps=2;
}
}
cout<<ans<<"\n";
}
return 0;
}