#include using namespace std; constexpr int N = 1e5 + 5; int n, ans; // string a, b, c, d; char a[N], b[N], c[N], d[N]; struct Node { int l, r, col, c0, c1; } u[N], v[N]; void solve(Node &x, Node &y) { int l = max(x.l, y.l); int r = min(x.r, y.r); if (l > r) return; int res = 0; if (x.col == 1 && y.col == 1) { res = min(r - l + 1, min(x.c0, y.c0) + min(x.c1, y.c1)); ans += res; int mi = min(r - l + 1, min(x.c0, y.c0)); x.c0 -= min(res, mi); y.c0 -= min(res, mi); res -= mi; x.c1 -= res; y.c1 -= res; } else if (x.col == 1) { int c0 = 0, c1 = 0; for (int i = l; i <= r; i++) if (b[i] == '0') c0++; else c1++; res = min(r - l + 1, min(x.c0, c0) + min(x.c1, c1)); ans += res; int mi = min(x.c0, c0); x.c0 -= min(res, mi); res -= mi; x.c1 -= res; } else if (y.col == 1) { int c0 = 0, c1 = 0; for (int i = l; i <= r; i++) if (a[i] == '0') c0++; else c1++; res = min(r - l + 1, min(y.c0, c0) + min(y.c1, c1)); ans += res; int mi = min(y.c0, c0); y.c0 -= min(res, mi); res -= mi; y.c1 -= res; } else { for (int i = l; i <= r; i++) if (a[i] == b[i]) res++; ans += res; } } void solve() { cin >> n >> a >> b >> c >> d; ans = 0; int cnu = 0, cnv = 0, j = 0, p[2]; j = p[0] = p[1] = 0; for (int i = 0; i < n; i++) { if (c[i] != c[j]) { u[++cnu] = Node{j, i - 1, c[j] - '0', p[0], p[1]}; j = i; p[0] = p[1] = 0; } p[a[i] - '0']++; } u[++cnu] = Node{j, n - 1, c[j] - '0', p[0], p[1]}; j = p[0] = p[1] = 0; for (int i = 0; i < n; i++) { if (d[i] != d[j]) { v[++cnv] = Node{j, i - 1, d[j] - '0', p[0], p[1]}; j = i; p[0] = p[1] = 0; } p[b[i] - '0'] ++; } v[++cnv] = Node{j, n - 1, d[j] - '0', p[0], p[1]}; for (int i = 1, j = 1; i <= cnu; i++) { while (j < cnv && v[j + 1].l <= u[i].r) { solve(u[i], v[j]); j++; } solve(u[i], v[j]); } // for (int i = 1; i <= cnu; i++) cerr << u[i].l << ':' << u[i].r << ':' << u[i].col << ':' << u[i].c0 << ':' << u[i].c1 << '\n'; // for (int i = 1; i <= cnv; i++) cerr << v[i].l << ':' << v[i].r << ':' << v[i].col << ':' << v[i].c0 << ':' << v[i].c1 << '\n'; // for (int i = 1; i <= cnu; i++) // { // for (int j = 1; j <= cnv; j++) // { // solve(u[i], v[j]); // } // } cout << ans << '\n'; } signed main() { freopen("edit.in", "r", stdin); freopen("edit.out", "w", stdout); ios::sync_with_stdio(false); cin.tie(0); int T; cin >> T; while (T--) solve(); } /* 9 101111111 100111000 110111011 011111111 1 1000 1110111110111011111001111111111110111111101110111110111111111111111111111111111111111111111111111110101111101111101111111111111111111111111111010111011111111111111111111011111111111111111111111111110111100110011111111111111101001111110111111111111111111111111111011111111111111111101101101110111001011111010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1101010100101110101010110101011111111101111011110110001010011100011100101011100000110010000000111000110110101101011000001111011000001111001101011001000010001110100110001110011110111111101111110111000010010000110110101101100100111110110001100111110010011011100010111010010010011101000000100110000110000100111100001011000111010010001111000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 */