B. Programming Contest
time limit per test
3 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

Arturo and Benito are competing in a programming contest consisting of $$$N$$$ problems. For each problem, they earn a number of points. The winner of each problem is the one who scores more points. Additionally, there are never ties because Arturo always scores an even number of points and Benito an odd number. We know the $$$N$$$ numbers of points that Arturo has scored on the problems $$$(a_i)$$$ and the $$$N$$$ numbers of points that Benito has scored $$$(b_i)$$$, but we do not know which score corresponds to which problem, so it is not possible to determine how many problems each has won. Your goal is to determine the maximum number of problems that Arturo could have won.

Input

Each case starts with an integer $$$t$$$, the number of cases. Each of the $$$t$$$ cases starts with an integer $$$N$$$, the number of problems. This is followed by a line with $$$N$$$ integers $$$a_i$$$ indicating Arturo's points and another line with $$$N$$$ integers $$$b_i$$$ indicating Benito's points.

Output

For each case, print a single integer, the maximum number of problems that Arturo can win.

Scoring

For all cases, it holds that $$$t \leq 40$$$, $$$1 \leq a_i, b_i \leq 100000$$$, and the $$$a_i$$$ are even and the $$$b_i$$$ are odd.

25 Points: $$$N \leq 10$$$

15 Points: $$$N \leq 100$$$

20 Points: $$$N \leq 1000$$$

40 Points: $$$N \leq 50000$$$

Example
Input
3
3
2 4 6
3 5 7
2
2 2
3 1
5
2 4 8 10 18
5 7 9 11 13
Output
2
1
3