# [ROIR 2022 Day 1] 回文数组

## 题目背景

翻译自 [ROIR 2022 D1T4](https://neerc.ifmo.ru/school/archive/2021-2022/ru-olymp-regional-2022-day1.pdf)。

有两个自然数数组 $A = [a_1, a_2, \dots , a_n]$ 和 $B = [b_1, b_2, \dots , b_m]$。

对每个数组，随机地去掉一个可能为空的前缀和一个可能为空的后缀，使得剩下的数组部分长度相等。我们将得到的数组记作 $A'$ 和 $B'$，它们的长度为 $k$。然后，对这两个数组的相应元素求和，结果数组记作 $C = [c_1, c_2, \dots , c_k]$。

例如，假设 $n = 5,A = [4, 3, 3, 2, 1],m = 6,B = [4, 1, 5, 1, 3, 2]$，从数组 $A$ 中去掉第一个和最后一个元素，从数组 $B$ 中去掉前三个元素，得到 $A' = [3, 3, 2],B' = [1, 3, 2]$，它们的相应元素求和结果为 $C = [4, 6, 4]$。  
假设 $n = 7,A = [1,9,1,9,8,1,0],m = 6,B = [1,1,4,5,1,4]$，从数组 $A$ 中去掉前两个元素和最后一个元素，从数组 $B$ 中去掉第一个和最后一个元素，得到 $A' = [1,9,8,1],B' = [1,4,5,1]$，它们的相应元素求和结果为 $C = [2,13,13,2]$。

## 题目描述

找到能够得到回文数组 $C$ 的最大长度 $k$。

## 输入格式

第一行输入两个整数 $n$ 和 $m$，分别表示第一个数组和第二个数组的元素数量 ($1 \le n, m \le 100 000$)。

第二行输入 $n$ 个整数 $a_1,a_2,\dots,a_n$，表示数组 $A$（$1 \le a_i \le 100$）。

第三行输入 $m$ 个整数 $b_1,b_2,\dots,b_n$，表示数组 $B$（$1 \le b_i \le 100$）。

## 输出格式

输出一个整数，表示能够得到的最长回文数组的长度 $k$。

## 样例 #1

### 样例输入 #1

```
5 6
4 3 3 2 1
4 1 5 1 3 2
```

### 样例输出 #1

```
3
```

## 样例 #2

### 样例输入 #2

```
7 6
1 9 1 9 8 1 0
1 1 4 5 1 4
```

### 样例输出 #2

```
4
```

## 提示

本题使用捆绑测试。

| 子任务 | 分值 | 特殊性质 |
| :----------: | :----------: | :----------: |
| $1$ | $13$ | $n,m\le300$ |
| $2$ | $33$ | B 数组所有数都相等 |
| $3$ | $16$ | $n\le500,m\le10^5$ |
| $4$ | $38$ | 无 |

对于所有数据，$1 \le n, m \le 100 000$，$1 \le a_i \le 100$，$1 \le b_i \le 100$。