#include using namespace std; using LL=long long; using ULL=unsigned long long; #define rep(i,n) for(int i=0; i<(n); i++) int N; vector S,T; const vector X[4][4]={ { {0,0}, {}, {}, {} }, { {}, {0,0}, {0,1}, {1,0} }, { {}, {1,0}, {0,0}, {0,1} }, { {}, {0,1}, {1,0}, {0,0} } }; vector solve(){ vector res; rep(i,N){ int s=S[i]*2+S[i+N]; int t=T[i]*2+T[i+N]; if(X[s][t].empty()) return {-1}; for(auto p:X[s][t]) res.push_back(p+i); } return res; } int main(){ cin>>N; S.resize(N*2); T.resize(N*2); string Sbuf,Tbuf; cin>>Sbuf>>Tbuf; rep(i,N*2) S[i]=Sbuf[i]-'0'; rep(i,N*2) T[i]=Tbuf[i]-'0'; vector ans=solve(); bool ok = (ans.size()%2==0); if(!ok) cout<<-1<