#include<bits/stdc++.h>
using namespace std;
int ed[200010][3];
string s[5];
int rev(int x){
	if(x==1) return 2;
	return 1;
}
int main(){
	freopen("edit.in","r",stdin);
	freopen("edit.out","w",stdout);
	int TestCase;
	cin>>TestCase;
	while(TestCase--){
		int n;
		cin>>n;
		for(int i=1;i<=4;i++) cin>>s[i];
		for(int i=0;i<n;i++){
			if(s[3][i]=='0'){
				ed[i][1]=i;
				continue;
			}
			int j=i;
			while(j+1<n&&s[3][j+1]=='1') j++;
			for(int k=i;k<=j;k++) ed[k][1]=j;
			i=j;
		}
		for(int i=0;i<n;i++){
			if(s[4][i]=='0'){
				ed[i][2]=i;
				continue;
			}
			int j=i;
			while(j+1<n&&s[4][j+1]=='1') j++;
			for(int k=i;k<=j;k++) ed[k][2]=j;
			i=j;
		}
		int tg=1,ans=0,cnt0=0,cnt1=0,std=-1;
		int eda=ed[0][1];
		bool turnawa=0;
		bool persd=0;
		int prep0=0,prep1=0;
		
		int CC=0,CD=0;
		
		//if(TestCase==3) cout<<ed[0][1]<<" "<<ed[0][2]<<endl;
		for(int i=0;i<n;i++){
			turnawa=0;
			cnt0=0,cnt1=0;
		//	assert(eda==ed[i][tg]);
			for(int j=i;j<=eda;j++){
				if(s[tg][j]=='0') cnt0++;
				else cnt1++;
				CC++;
			}
			
			if(persd==1){
				/*
				ans+=min(prep0,cnt0)+min(prep1,cnt1);
				cnt0-=min(cnt0,prep0),cnt1-=min(prep1,cnt1);
				*/
				
				int xx=min(cnt0,prep0);
				ans+=xx;
				if(cnt0>=prep0) cnt0-=prep0;
				else cnt1-=(prep0-cnt0),cnt0=0;
				int y=min(cnt1,prep1);
				ans+=y,cnt1-=y;
				prep1-=y;
				if(prep1>0) cnt0-=prep1;
			
				prep0=prep1=0;
				persd=0;
			}
			for(int j=(std==-1?i:std);j<=eda;j++){
				if(ed[j][rev(tg)]<=eda){
					int ct0=0,ct1=0;
					for(int k=j;k<=ed[j][rev(tg)];k++){
						if(s[rev(tg)][k]=='0') ct0++;
						else ct1++;
						CD++;
					//	assert(CC>=CD);
					}
					/*ans+=min(cnt0,ct0)+min(cnt1,ct1);
					cnt0-=min(cnt0,ct0);
					cnt1-=min(cnt1,ct1);*/
					
					int xx=min(cnt0,ct0);
					ans+=xx;
					if(cnt0>=ct0) cnt0-=ct0;
					else cnt1-=(ct0-cnt0),cnt0=0;
					int y=min(cnt1,ct1);
					ans+=y,cnt1-=y;
					ct1-=y;
					if(ct1>0) cnt0-=ct1;
					
					j=ed[j][rev(tg)];
				}else{
					i=j-1;
					turnawa=1;
					persd=1;
					std=eda+1;
					prep0=cnt0,prep1=cnt1;
					eda=ed[j][rev(tg)];
					break;
				}
			}
			if(turnawa==0){
				i=eda;
				if(i==n-1) break;
				eda=ed[i+1][tg];
				cnt0=cnt1=0;
				std=-1;
			}else{
				tg=rev(tg);
			}
		}
		cout<<ans<<endl; 
		for(int i=0;i<n;i++) ed[i][1]=ed[i][2]=0;
	}
}
