#include using namespace std; const int maxn=1e5+5; int n,s[2][maxn],t[2][maxn],cnt[2][2],pr[2][2]; int readc(int *x){ int c=getchar(),re=0; while(c<'0'||c>'1') c=getchar(); while(c>='0'&&c<='1') x[++re]=c-'0',c=getchar(); return re; } void init() { cnt[0][0]=cnt[0][1]=cnt[1][0]=cnt[1][1]=0; pr[0][0]=pr[0][1]=pr[1][0]=pr[1][1]=0; s[0][n+1]=0,s[1][n+1]=1,t[0][n+1]=t[1][n+1]=0; } void add(int pos){ cnt[pos][0]+=pr[pos][0],cnt[pos][1]+=pr[pos][1],pr[pos][0]=pr[pos][1]=0; } void solve() { cin>>n;readc(s[0]),readc(s[1]),readc(t[0]),readc(t[1]); init(); int ans=0; for (int i=1;i<=n+1;i++) { /* cout<=cnt[lp][0]&&pr[ep][1]>=cnt[lp][1]) { ans+=cnt[lp][0]+cnt[lp][1]; pr[ep][0]-=cnt[lp][0],pr[ep][1]-=cnt[lp][1]; cnt[lp][0]=cnt[lp][1]=0; } else { int val=pr[ep][0]>t; while(t--) solve(); return 0; }