#include<bits/stdc++.h>
using namespace std;
long long T,n,l,f,l1,l2,x=0,y,f1,f2;
string s1,s2,t1,t2;
char s;
int main(){
cin>>T;
while(T--){
cin>>n;
cin>>s1>>s2>>t1>>t2;
x=0;
l=0;
y=s1[0];
for(long long i=1;i<n;i++){
if(s1[i]!=y){
x=1;
break;
}
}
if(x=0){
for(long long i=0;i<n;i++){
if(s1[i]==s2[i]){
l++;
}
}
}
else if(t1==t2){
l1=0;
l2=0;
f=0;
for(long long i=0;i<n;i++){
if(t1[i]=='0'){
if(f!=0){
l+=f-(max(l1,l2)-min(l1,l2));
f=0;
l1=0;
l2=0;
}
if(s1[i]==s2[i]){
l++;
}
}
else{
f++;
if(s1[i]=='0'){
l1++;
}
if(s2[i]=='0'){
l2++;
}
}
}
l+=f-(max(l1,l2)-min(l1,l2));
f=0;
l1=0;
l2=0;
}
else{
l1=0;
l2=0;
f=0;
for(long long i=0;i<n;i++){
if((t1[i]=='0'||(t1[i-1]=='0'&&t1[i+1]=='0'))&&(t2[i]=='0'||(t2[i-1]=='0'&&t2[i+1]=='0'))){
if(f!=0){
l+=f-(max(l1,l2)-min(l1,l2));
f=0;
l1=0;
l2=0;
}
if(s1[i]==s2[i]){
l++;
}
}
else{
f++;
if(s1[i]=='0'){
l1++;
}
if(s2[i]=='0'){
l2++;
}
}
}
l+=f-(max(l1,l2)-min(l1,l2));
f=0;
l1=0;
l2=0;
}
cout<<l<<endl;
}
return 0;
}