← Home
write a go solution for Description:
Let's define f(x) for a positive integer x as the length of the base-10 representation of x without leading zeros. I like to call it a digital logarithm. Similar to a digital root, if you are familiar with that.

You are given two arrays a and b, each containing n positive integers. In one operation, you do the following:

1. pick some integer i from 1 to n;
2. assign either f(a_i) to a_i or f(b_i) to b_i.

Two arrays are considered similar to each other if you can rearrange the elements in both of them, so that they are equal (e. g. a_i=b_i for all i from 1 to n).

What's the smallest number of operations required to make a and b similar to each other?

Input Format:
The first line contains a single integer t (1<=t<=10^4) — the number of testcases.

The first line of the testcase contains a single integer n (1<=n<=2*10^5) — the number of elements in each of the arrays.

The second line contains n integers a_1,a_2,...,a_n (1<=a_i<10^9).

The third line contains n integers b_1,b_2,...,b_n (1<=b_j<10^9).

The sum of n over all testcases doesn't exceed 2*10^5.

Output Format:
For each testcase, print the smallest number of operations required to make a and b similar to each other.

Note:
In the first testcase, you can apply the digital logarithm to b_1 twice.

In the second testcase, the arrays are already similar to each other.

In the third testcase, you can first apply the digital logarithm to a_1, then to b_2.. Output only the code with no comments, explanation, or additional text.