#include #define int long long using namespace std; int n,T,cnt[5][5]; char s[100100],t[100100],f1[100100],f2[100100]; #undef int int main() { #define int long long freopen("edit.in","r",stdin); freopen("edit.out","w",stdout); ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin>>T; while(T--) { cin>>n>>s+1>>t+1>>f1+1>>f2+1; cnt[0][0]=0; cnt[0][1]=0; cnt[1][0]=0; cnt[1][1]=0; int i=1,j=1,ans=0; while(i!=n+1 || j!=n+1) { while(f1[i]=='1'&&i!=n+1) { cnt[0][s[i]-48]++; i++; } while(f2[j]=='1'&&j!=n+1) { cnt[1][t[j]-48]++; j++; } if(ij) { cnt[1][t[j]-48]++; j++; int cnt0=min(cnt[0][0],cnt[1][0]); int cnt1=min(cnt[0][1],cnt[1][1]); ans+=cnt0+cnt1; cnt[1][0]-=cnt0; cnt[1][1]-=cnt1; cnt[0][0]-=cnt0; cnt[0][1]-=cnt1; cnt[0][0]-=cnt[1][1]; cnt[0][1]-=cnt[1][0]; cnt[1][0]=0; cnt[1][1]=0; } else if(i==j && i!=n+1) { ans+=min(cnt[0][0],cnt[1][0]); ans+=min(cnt[0][1],cnt[1][1]); cnt[0][0]=0; cnt[0][1]=0; cnt[1][0]=0; cnt[1][1]=0; if(s[i]==t[j]) ans++; i++; j++; } } ans+=min(cnt[0][0],cnt[1][0]); ans+=min(cnt[0][1],cnt[1][1]); cout<