t = int(input())
for i in range(t):
n = int(input())
arr1 = list(map(int, input().split(sep = ' ')))
arr2 = list(map(int, input().split(sep = ' ')))
k = abs(arr1.count(1) - arr2.count(1))
cnt = 0
for j in range(n):
if (arr1[j] != arr2[j]):
cnt = cnt + 1
if (arr1 == arr2):
print(0)
elif (arr1.count(1) == arr2.count(1)):
print(1)
else:
print(min(k+1,cnt))
#include <bits/stdc++.h>
using namespace std;
void solve()
{
int n;
cin >> n;
int a[n];
int b[n];
int c01 = 0, c10 = 0;
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
for (int i = 0; i < n; i++)
{
cin >> b[i];
if (a[i] == 0 && b[i] == 1)
c01++;
if (a[i] == 1 && b[i] == 0)
c10++;
}
if (c01 == c10 && c10 == 0)
{
cout << 0 << endl;
return;
}
else if (c01 == c10)
{
cout << 1 << endl;
return;
}
else if (min(c10, c01) == 0)
{
cout << max(c10, c01) << endl;
}
else
{
cout << 1 + abs(c10 - c01) << endl;
}
}
signed main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int t;
cin >> t;
while (t--)
solve();
return 0;
}
145. Binary Tree Postorder Traversal | 94. Binary Tree Inorder Traversal |
101. Symmetric Tree | 77. Combinations |
46. Permutations | 226. Invert Binary Tree |
112. Path Sum | 1556A - A Variety of Operations |
136. Single Number | 169. Majority Element |
119. Pascal's Triangle II | 409. Longest Palindrome |
1574A - Regular Bracket Sequences | 1574B - Combinatorics Homework |
1567A - Domino Disaster | 1593A - Elections |
1607A - Linear Keyboard | EQUALCOIN Equal Coins |
XOREQN Xor Equation | MAKEPAL Weird Palindrome Making |
HILLSEQ Hill Sequence | MAXBRIDGE Maximise the bridges |
WLDRPL Wildcard Replacement | 1221. Split a String in Balanced Strings |
1002. Find Common Characters | 1602A - Two Subsequences |
1555A - PizzaForces | 1607B - Odd Grasshopper |
1084A - The Fair Nut and Elevator | 1440B - Sum of Medians |