#Lutece2574. 辉夜大小姐想偶遇

辉夜大小姐想偶遇

Migrated from Lutece 2574 辉夜大小姐想偶遇

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

四宫辉夜使用某种手段获得了白银御行的日程表。日程表是一个整数序列,每个整数表示白银当天的安排。例如 [1,2,2,3][1,2,2,3],表示白银计划在接下来的四天中:在第一天做事情 11、第二天和第三天做事情 22、第四天做事情 33

但学生会的值班拥有更高的优先度,如果辉夜安排白银在第二天值班,白银会将第二天及之后的事顺移一天,用 1-1 表示值班,那么他的日程表将变为 [1,1,2,2,3][1,-1,2,2,3]。辉夜自己也有相同格式的日程表和相同的顺延规则。

现在,辉夜得到了安排秀知院学生会值班表的机会。对于每一天,辉夜可以安排自己、白银、藤原书记三人中的一人值班。

辉夜在 1000ms 内已经想好了安排的方案。这个世界的神——赤坂请你帮他计算出,在辉夜合理安排值班表后,她最多能和白银偶遇多少次,他好提前构思出相同数量的故事。

偶遇:在同一天,两人日程安排相同。

Input

第一行输入两个整数 n,m (0n,m5000)n,m\ (0\le n,m\le 5000),表示白银有 nn 件事要做,辉夜有 mm 件事要做。

第二行输入 nn 个整数 a1,,an (0ai109)a_1,\ldots ,a_n\ (0\le a_i\le 10^9),表示白银的日程表。

第三行输入 mm 个整数 b1,,bm (0bi109)b_1,\ldots ,b_m\ (0\le b_i\le 10^9),表示辉夜的日程表。

Output

输出一个整数 xx,表示在辉夜安排好值班表后,最多能和白银偶遇 xx 次。

Samples

7 7
1 1 4 5 1 4 0
1 9 1 9 8 1 0
4

Note

样例中,最多能偶遇四次。其中一种安排值班表的方案为:藤原、白银、藤原、藤原、藤原、藤原、辉夜、藤原。这样白银的日程表变为 [1,1,1,4,5,1,4,0][1,-1,1,4,5,1,4,0],辉夜的日程表变为 [1,9,1,9,8,1,1,0][1,9,1,9,8,1,-1,0],两人在第 1,3,61,3,6 天都在做事情 11,在第 88 天都在做事情 00

Resources

2021 UESTC ICPC Training for Dynamic Programming