#include <bits/extc++.h>
#define dbg(x) cerr << #x" = " << (x) << endl
#define debug(...) fprintf(stderr,__VA_ARGS__)
using ll = long long;
const int MAXN = 1e5 + 10;
using namespace std;
int n,cnt[3][2],ans;
char s1[MAXN],s2[MAXN],t1[MAXN],t2[MAXN];
void init(){
memset(cnt,0,sizeof cnt);
ans = 0;
cin >> n >> s1 + 1 >> s2 + 1 >> t1 + 1 >> t2 + 1;
}
void solve(){
init();
int l1 = 1,r1 = 1,l2 = 1,r2 = 1;
while(l1 <= n && l2 <= n){
while(r1 <= n && t1[r1] != '0') {
cnt[1][s1[r1] == '1']++;
r1++;
}
while(r2 <= n && t2[r2] != '0') {
cnt[2][s2[r2] == '1']++;
r2++;
}
if(l1 <= l2 && r2 < r1){
if(cnt[1][s2[r2] == '1'] > 0 && r2 != n + 1) ans++,cnt[1][s2[r2] == '1']--;
ans += min(cnt[1][0],cnt[2][0]) + min(cnt[1][1],cnt[2][1]);
cnt[1][0] -= min(cnt[1][0],cnt[2][0]),
cnt[1][1] -= min(cnt[1][1],cnt[2][1]);
r2 = l2 = r2 + 1;
cnt[2][0] = cnt[2][1] = 0;
} else if(l2 <= l1 && r1 < r2){
if(cnt[2][s1[r1] == '1'] > 0 && r1 != n + 1) ans++,cnt[2][s1[r1] == '1']--;
ans += min(cnt[1][0],cnt[2][0]) + min(cnt[1][1],cnt[2][1]);
cnt[2][0] -= min(cnt[1][0],cnt[2][0]),
cnt[2][1] -= min(cnt[1][1],cnt[2][1]);
r1 = l1 = r1 + 1;
cnt[1][0] = cnt[1][1] = 0;
} else if(r2 == r1){
ans += s1[r1] == s2[r2] && r2 != n + 1;
ans += min(cnt[1][0],cnt[2][0]) + min(cnt[1][1],cnt[2][1]);
r1 = l1 = r1 + 1;
r2 = l2 = r2 + 1;
memset(cnt,0,sizeof cnt);
} else if(l1 < l2 && r1 <= r2){
if(cnt[2][s1[r1] == '1'] > 0 && r1 != n + 1) ans++,cnt[2][s1[r1] == '1']--;
int u = r1 - l2;
if(u > 0){
ans += min(min(cnt[1][0],cnt[2][0]) + min(cnt[1][1],cnt[2][1]),u);
int dcnt20 = min({cnt[1][0],cnt[2][0],u});
cnt[2][0] -= dcnt20,u -= dcnt20;
cnt[2][1] -= min({cnt[1][1],cnt[2][1],u});
}
r1 = l1 = r1 + 1;
cnt[1][0] = cnt[1][1] = 0;
} else if(l2 < l1 && r2 <= r1){
if(cnt[1][s2[r2] == '1'] > 0 && r2 != n + 1) ans++,cnt[1][s2[r2] == '1']--;
int u = r2 - l1;
if(u > 0){
ans += min(min(cnt[1][0],cnt[2][0]) + min(cnt[1][1],cnt[2][1]),u);
int dcnt10 = min({cnt[1][0],cnt[2][0],u});
cnt[1][0] -= dcnt10,u -= dcnt10;
cnt[1][1] -= min({cnt[1][1],cnt[2][1],u});
}
r2 = l2 = r2 + 1;
cnt[2][0] = cnt[2][1] = 0;
} else assert(0);
}
cout << ans << '\n';
}
int main(){
freopen("edit.in","r",stdin);
freopen("edit.out","w",stdout);
cin.tie(0) -> ios::sync_with_stdio(0);
int t;
cin >> t;
while(t--) solve();
}