#include <bits/stdc++.h> using namespace std; #define rep(i,n) for(int i = 0; i < (int)(n); i++) #define repr(i,n) for(int i = (int)(n); i >= 0; i--) #define all(v) v.begin(),v.end() typedef long long ll; int main(){ int N; cin >> N; vector<int> S(N), T(N); rep(i,N){ cin >> S[i]; } rep(i,N){ cin >> T[i]; } int gyoumin = 0; int retsumin = 0; rep(i,N){ if (S[i] == 1) gyoumin += 1; if (S[i] == 2) gyoumin += N; } rep(i,N){ if (T[i] == 1) retsumin += 1; if (T[i] == 2) retsumin += N; } vector<vector<bool> > locked(N, vector<bool> (N)); rep(i,N){ rep(j,N){ locked[i][j] = false; } } rep(i,N){ if (S[i] == 2){ rep(j,N){ locked[i][j] = true; } } } rep(j,N){ if (T[j] == 2){ rep(i,N){ locked[i][j] = true; } } } int lockmin = 0; rep(i,N){ rep(j,N){ if (locked[i][j]) lockmin++; } } cout << max(gyoumin, max(retsumin, lockmin)) << endl; }