어린 Bajtek이 할아버지에게서 블록 세트를 받았다. 각 블록에는 정해진 높이가 있다. Bajtek은 블록을 위로 하나씩 쌓아 탑을 만든다. 그는 가진 블록을 모두 사용해 탑 두 개를 세웠다.
이제 그는 두 탑의 높이를 같게 만들려면 최소 몇 개의 블록을 치워야 하는지 궁금하다. 블록은 각 탑의 꼭대기에서만 치울 수 있고, 새 블록을 더할 수는 없다. 특히 한 탑의 블록을 모두 치우는 것도 가능하다. 두 탑에서 블록을 모두 치우면 두 높이가 모두 0이 되어 서로 같아진다.
첫째 줄에 두 정수 n, m (1≤n,m≤106)이 주어진다. 각각 첫 번째 탑과 두 번째 탑을 이루는 블록의 개수이다.
둘째 줄에 n개의 정수 a1,a2,…,an (1≤ai≤109)이 주어진다. ai는 첫 번째 탑에서 아래에서 i번째 블록의 높이이며, a1이 맨 아래 블록, an이 맨 위 블록이다.
셋째 줄에 m개의 정수 b1,b2,…,bm (1≤bi≤109)이 주어진다. bi는 두 번째 탑에서 아래에서 i번째 블록의 높이이며, b1이 맨 아래 블록, bm이 맨 위 블록이다.
두 탑의 높이가 같아지도록 치워야 하는 블록의 최소 개수를 한 줄에 출력한다.
