#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ul unsigned ll
#define LL __int128_t
#define db double
#define DB double
#define pii pair<int, int>
#define fi first
#define se second
#define mkpr make_pair
#define vi vector<int>
#define vii vector<pii>
#define eb emplace_back
#define all(c) (c).begin(), (c).end()
#define bit(x) (1 << (x))
#define bin(s, x) ((s) >> (x) & 1)
#define req(i, l, r) for (int i(l), i##End(r); i < i##End; i = -~i)
#define qer(i, l, r) for (int i(l), i##End(r); i > i##End; i = ~-i)
#define rep(i, l, r) for (int i(l), i##End(r); i <= i##End; i = -~i)
#define per(i, l, r) for (int i(l), i##End(r); i >= i##End; i = ~-i)
#ifdef JYR
#define errs(x) fputs(x, stderr)
#define errm(x, ...) fprintf(stderr, x, __VA_ARGS__)
#else
#define errs(x)
#define errm(x, ...)
#endif
template<typename T, typename U> void chkmn(T &_a, U _b) { if (_a > _b) _a = _b; }
template<typename T, typename U> void chkmx(T &_a, U _b) { if (_a < _b) _a = _b; }
bool Mbe;
#define MC
#define N 200005
#define mod 998244353
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f
int n, ans;
int c[2][2];
char s[2][N], t[2][N];
void calc(int o, int i) {
assert(!c[o][0] && !c[o][1]);
while (++i <= n && t[o][i] != '0') {
c[o][s[o][i] - '0']++;
}
}
void mslv() {
scanf("%d%s%s%s%s", &n, s[0] + 1, s[1] + 1, t[0] + 1, t[1] + 1);
calc(0, 0), calc(1, 0);
rep(i, 1, n) {
int u[2] = {s[0][i] - '0', s[1][i] - '0'};
if (t[0][i] == '0' && t[1][i] == '0') ans += u[0] == u[1], calc(0, i), calc(1, i);
else if (t[0][i] == '0') {
if (c[1][u[0]]) ans++, c[1][u[0]]--;
else c[1][u[0] ^ 1]--;
calc(0, i);
}
else if (t[1][i] == '0') {
if (c[0][u[1]]) ans++, c[0][u[1]]--;
else c[0][u[1] ^ 1]--;
calc(1, i);
}
else {
if (c[0][0] && c[1][0]) ans++, c[0][0]--, c[1][0]--;
else if (c[0][1] && c[1][1]) ans++, c[0][1]--, c[1][1]--;
else if (c[0][0]) c[0][0]--, c[1][1]--;
else c[0][1]--, c[1][0]--;
}
}
printf("%d\n", ans);
}
void mprw() {}
void sprw() {
ans = 0;
}
bool Med;
int main() {
freopen("edit.in", "r", stdin);
freopen("edit.out", "w", stdout);
mprw();
#ifdef MC
int _; scanf("%d", &_);
while (_--) sprw(), mslv();
#else
mslv();
#endif
errm("%.2lfMB %dms\n", abs(&Mbe - &Med) / 1048576., (int)(1000. * clock() / CLOCKS_PER_SEC));
return 0;
}