#include //#define int long long using namespace std; const int Max=1e5+10; int n; string s[2]; string t[2]; int sum[2][Max]; int nxt[2][Max]; signed main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); freopen("edit.in","r",stdin); freopen("edit.out","w",stdout); int T; cin>>T; while(T--){ cin>>n; cin>>s[0]>>s[1]; cin>>t[0]>>t[1]; s[0]=" "+s[0]+" "; s[1]=" "+s[1]+" "; t[0]=" "+t[0]+" "; t[1]=" "+t[1]+" "; for(int b=0;b<2;b++){ for(int i=1;i<=n+1;i++){ sum[b][i]=sum[b][i-1]+(s[b][i]=='0'); } int last=n+1; for(int i=n;i>=0;i--){ nxt[b][i]=last; if(t[b][i]=='0'){ last=i; } } } int now[2]={0,0}; int c[2]={sum[0][nxt[0][0]-1],sum[1][nxt[1][0]-1]}; int res=0; while(now[0]tmp[0]+tmp[1]){ if(c[0]){ c[0]-=L-(tmp[0]+tmp[1]); } if(c[1]){ c[1]-=L-(tmp[0]+tmp[1]); } } int x=nxt[0][now[0]]; int y=nxt[1][now[1]]; if(nxt[0][now[0]]<=y){ now[0]=nxt[0][now[0]]; c[0]=sum[0][nxt[0][now[0]]-1]-sum[0][now[0]]; } if(x>=nxt[1][now[1]]){ now[1]=nxt[1][now[1]]; c[1]=sum[1][nxt[1][now[1]]-1]-sum[1][now[1]]; } } cout<