#include <algorithm>
#include <fstream>
#include <vector>
#include <bitset>
#include <string>
#include <array>

#define rgall(arr) (arr).begin(),(arr).end()
#define rgcnt(arr,cnt) (arr).begin(),(arr).begin()+(cnt)
#define rgo1(arr,cnt) (arr).begin()+1,(arr).begin()+(cnt)+1

using namespace std;

ifstream cin("edit.in");
ofstream cout("edit.out");

struct seg01
{
	int cnt0,cnt1,rgr;
};

vector<seg01> segs,segt;
string s,t,ss,tt;

int main(int argc,char* argv[])
{
	ios::sync_with_stdio(false);
	int testcnt;
	cin>>testcnt;
	while(testcnt--)
	{
		segs.clear(),segt.clear();
		int cnt;
		cin>>cnt>>s>>t>>ss>>tt;
		s+='0',ss+='0',t+='1',tt+='0';
		int cnts0=0,cnts1=0,cntt0=0,cntt1=0;
		segs.push_back((seg01){0,0,-1}),segt.push_back((seg01){0,0,-1});
		segs.push_back((seg01){}),segt.push_back((seg01){});
		for(int i=0;i<=cnt;i++)
		{
			if(ss[i]=='0')
				segs.back().rgr=i,segs.push_back((seg01){});
			else if(s[i]=='0')
				++segs.back().cnt0;
			else
				++segs.back().cnt1;
		}
		for(int i=0;i<=cnt;i++)
		{
			if(tt[i]=='0')
				segt.back().rgr=i,segt.push_back((seg01){});
			else if(t[i]=='0')
				++segt.back().cnt0;
			else
				++segt.back().cnt1;
		}
//		for(auto i:segs)r
//			cout<<i.cnt0<<' '<<i.cnt1<<' '<<i.rgr<<'\n';
//		for(auto i:segt)
//			cout<<i.cnt0<<' '<<i.cnt1<<' '<<i.rgr<<'\n';
		int answer=0;
		for(int i=1,j=1;i<segs.size()-1&&j<segt.size()-1;)
		{
			int cs=s[segs[i].rgr],ct=t[segt[j].rgr];
			auto& a=segs[i],& b=segt[j];
			if(a.rgr<b.rgr)
			{
				if(cs=='0')
					++a.cnt0;
				else
					++a.cnt1;
				answer+=min(a.cnt0,b.cnt0)+min(a.cnt1,b.cnt1);
				b.cnt0-=a.cnt0,b.cnt1-=a.cnt1;
				if(b.cnt0<0)
					b.cnt1+=b.cnt0,b.cnt0=0;
				if(b.cnt1<0)
					b.cnt0+=b.cnt1,b.cnt1=0;
				++i;
			}
			else if(a.rgr>b.rgr)
			{
				if(ct=='0')
					++b.cnt0;
				else
					++b.cnt1;
				answer+=min(a.cnt0,b.cnt0)+min(a.cnt1,b.cnt1);
				a.cnt0-=b.cnt0,a.cnt1-=b.cnt1;
				if(a.cnt0<0)
					a.cnt1+=a.cnt0,a.cnt0=0;
				if(a.cnt1<0)
					a.cnt0+=a.cnt1,a.cnt1=0;
				++j;
			}
			else
			{
				answer+=(cs==ct);
				answer+=min(a.cnt0,b.cnt0)+min(a.cnt1,b.cnt1);
				++i,++j;
			}
//			cout<<answer<<' ';
		}
		cout<<answer<<'\n';
	}
	return 0;
}
