#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
string s1,s2,vis1,vis2;
int _ans[10050],ans_cnt;
void solve(){
int n;scanf("%d\n",&n);
getline(cin,s1);getline(cin,s2);
getline(cin,vis1);getline(cin,vis2);
for(int i=0;i<=n-2;i++){
//show();
//cout<<s1<<' '<<s2<<'\n';
if(s1[i]!=s2[i]){
if(vis1[i]=='1'&&vis1[i+1]=='1')swap(s1[i],s1[i+1]);
else if(vis2[i]=='1'&&vis2[i+1]=='1') swap(s2[i],s2[i+1]);
//else cout<<"No";
//cout<<s1<<' '<<s2<<'\n';
}
//cout<<s1<<' '<<s2<<'\n';
}
int ans=0;
for(int i=0;i<=n-1;i++) if(s1[i]==s2[i]) ans++;
_ans[++ans_cnt]=ans;
}
int main(){
int T;
scanf("%d",&T);
for(int i=1;i<=T;i++){
solve();
}
for(int i=1;i<=T;i++){
printf("%d\n",_ans[i]);
}
return 0;
}