甜甜圈
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

艾洛喜欢吃甜食,他有n个甜甜圈,现在叠成了两叠(如下图所示),第一叠有n1个,第二叠有n2个(n1+n2=n),要解决的问题如下:
  • 每个甜甜圈都有一个唯一的甜度值s_i,甜度值两两不同;
  • 每次艾洛可以把任意一叠位于顶端的一个甜甜圈移动到另一叠顶端,若该甜甜圈是当前所有甜甜圈中最甜的(甜度值最大),那么艾洛不会移动甜甜圈,而是直接吃掉;
请你求出艾洛吃完所有甜甜圈的最小移动步数;

输入描述:

第一行,两个正整数,分别表示两叠甜甜圈的个数。
第二行,n1个整数,按从顶到底的顺序排列,表示第一叠甜甜圈的甜度值。
第三行,n2个整数,按从顶到底的顺序排列,表示第二叠甜甜圈的甜度值。
保证且两两互不相同。

输出描述:

总共一行,一个整数,表示最少步数。
示例1

输入

复制
3 3
1 4 5
2 7 3

输出

复制
6