#include "bits/stdc++.h" //#include using namespace std; //using namespace atcoder; #define ll long long ll INF = (1LL << 60); signed main() { int N; cin >> N; vectorS(N), T(N); for (int i = 0; i < N; i++)cin >> S[i]; for (int i = 0; i < N; i++)cin >> T[i]; vector>G(N, vector(N)); vectorokS(N), okT(N); for (int i = 0; i < N; i++) { if (S[i] == 2) { for (int j = 0; j < N; j++) { G[i][j] = 1; okS[j] = true; } } if (T[i] == 2) { for(int j = 0; j < N; j++){ G[j][i] = 1; okT[j] = true; } } } for (int i = 0; i < N; i++) { bool ok = false; for (int j = 0; j < N; j++) { if (G[i][j] == 1)ok = true; } if (S[i] == 1 && !ok) { for (int j = 0; j < N; j++) { if (!okT[j] && T[j] != 0) { G[i][j] = 1; okS[i] = true; okT[j] = true; goto t; } } for (int j = 0; j < N; j++) { if (okT[j]) { G[i][j] = 1; okS[i] = true; okT[j] = true; goto t; } } t:; } } for (int i = 0; i < N; i++) { bool ok = false; for (int j = 0; j < N; j++) { if (G[j][i] == 1)ok = true; } if (T[i] == 1 && !ok) { for (int j = 0; j < N; j++) { if (!okS[j] && S[j] != 0) { G[j][i] = 1; okS[j] = true; okT[i] = true; goto f; } } for (int j = 0; j < N; j++) { if (okS[j]) { G[j][i] = 1; okS[j] = true; okT[i] = true; goto f; } } f:; } } int ans = 0; for (int i = 0; i < N; i++)for (int j = 0; j < N; j++) { if (G[i][j]) { ans++; } } cout << ans << endl; return 0; }