编程题
### 问题描述
小然有两个长度为 $N$ 的字符串 $A$ 和 $B$,它们都只包含小写的英文字母。
小然可以以他想要的任何方式重新排列这两个字符串。他的目标是让这两个字符串的最长公共子序列(LCS)的长度尽可能地小。
请你帮助小然找出在最优的重新排列方法下,这两个字符串的 LCS 的最小长度。
### 输入格式
输入的第一行包含一个整数 $T$,表示测试用例的数量。
每个测试用例由多行组成:
- 第一行包含一个整数 $N$,表示字符串的长度。
- 第二行包含一个长度为 $N$ 的字符串 $A$。
- 第三行包含一个长度为 $N$ 的字符串 $B$。
### 输出格式
对于每个测试用例,输出一行一个整数,表示最小的 LCS 长度。
### 样例输入
```text
3
4
aaaa
aaab
1
c
z
5
abcde
cdefg
```
### 样例输出
```text
3
0
1
```
### 说明
在第三个测试用例中,我们可以将字符串 $A$ 和 $B$ 重新排列为 $acbed$ 和 $gdefc$,这样它们的 LCS 是 $c$。注意,对于这种重新排列方式,存在多个最长的公共子序列。可以证明,没有其他的重新排列方法可以得到更小的 LCS。
### 评测数据范围
$1 \leq T \leq 10^3$。
$1 \leq N \leq 10^5$。
$A$ 和 $B$ 只包含小写英文字母。
所有测试用例中 $N$ 的总和不超过 $2 \times 10^5$。