#include<bits/stdc++.h>
using namespace std;
const int N=100002;
int T,n,cnt,id[2][N],t[2*N][2],ans;
string s[2],b[2];
void add(bool o,int l,int r){
	if(l>r)return;
	++cnt;
	for(int i=l;i<=r;i++)id[o][i]=cnt,++t[cnt][s[o][i]-'0'];
}
void sol(int x,int y){
	if(t[x][0]&&t[y][0])--t[x][0],--t[y][0],++ans;
	else if(t[x][1]&&t[y][1])--t[x][1],--t[y][1],++ans;
}
signed main(){
	freopen("edit.in","r",stdin);freopen("edit.out","w",stdout);
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	for(cin>>T;T--;){
		cin>>n,cin>>s[0]>>s[1]>>b[0]>>b[1];
		cnt=0,ans=0,memset(t,0,sizeof(t));
		for(bool o:{0,1}){
			int las=-1;
			for(int i=0;i<n;i++)if(b[o][i]=='0')add(o,las+1,i-1),add(o,i,i),las=i;
			add(o,las+1,n-1);
		}
		for(int i=0;i<n;i++)sol(id[0][i],id[1][i]);
		cout<<ans<<'\n';
	}
}
