编程题
最长公共子序列
### 题目描述
给定一个长度为 $N$ 数组 $a$ 和一个长度为 $M$ 的数组 $b$。
请你求出它们的最长公共子序列长度为多少。
### 输入描述
输入第一行包含两个整数 $N,M$,分别表示数组 $a$ 和 $b$ 的长度。
第二行包含 $N$ 个整数 $a_1,a_2,...,a_n$。
第三行包含 $M$ 个整数 $b_1,b_2,...,b_n$。
$1\leq N,M \leq 10^3$,$1\leq a_i,b_i \leq 10^9$。
### 输出描述
输出一行整数表示答案。
### 输入输出样例
#### 示例 1
>输入
```txt
5 6
1 2 3 4 5
2 3 2 1 4 5
```
>输出
```txt
4
```