문제 번호 6212 --재미있는 카드게임(たのしいカードゲーム)

6212: 재미있는 카드게임(たのしいカードゲーム)

시간 제한: 1 Sec  메모리 제한: 128 MB
제출: 3  해결 문제 수: 2
[제출][채점상황][게시판][:]

문제 설명

 1부터 1000까지 임의의 정수가 적힌 카드가 잔뜩 있다. 안나와 브루노는 그 카드를 이용해 다음과 같은 게임을 하려고 한다.

 안나는 A장, 브루노는 B장의 카드를 쌓아두었다. 안나는 A장의 카드 중에서 임의로 몇 장을 버린다. 브루노는 B장의 카드 중에서 맨 위에서 몇 장, 맨 아래에서 몇 장을 버린다. 버리는 카드는 0장이라도 괜찮으며, 버리고 남은 카드를 쌓은 순서는 바꾸지 않는다. 이렇게 남는 카드가 정확히 일치할 경우, 두 사람은 남은 카드의 개수만큼 점수를 얻는다. 여기서 남는 카드가 일치한다는 것은, 두 명이 쌓아둔 카드의 장 수가 같고 위에서부터 차례대로 같은 번호를 가지고 있음을 뜻한다.

 예를 들어, 안나는 위에서부터 차례대로 1, 2, 3, 4, 5라고 써있는 다섯 장의 카드를 가지고 있고, 브루노는 위에서부터 차례대로 3, 1, 4, 1이라고 써있는 네 장의 카드를 가지고 있다고 하자. 이 때 안나가 2, 3, 5라고 적힌 카드를 버리고, 브루노가 위에서 3이라고 적혀있는 카드, 아래에서 1이라고 적혀있는 카드를 버렸다. 이 경우, 두 사람의 남은 카드는 두 장이며 위에서 부터 적혀있는 숫자가 1, 4로 일치하기 때문에 두 사람은 남는 카드의 개수인 2점을 얻는다.


 안나와 브루노가 가지고 있는 카드의 정보가 주어졌을 때, 두 사람이 얻을 수 있는 점수의 최댓값을 구하는 프로그램을 작성하라.

입력

 입력 데이터는 아래와 같이 이루어져있다.

 첫 번째 줄에는 안나와 브루노가 가지고 있는 카드의 개수 A, B가 띄어쓰기로 구분되어 주어진다.

 두 번째 줄에는 안나가 가지고 있는 A장의 카드에 위에서부터 적혀있는 숫자가 차례대로 띄어쓰기로 구분되어 주어진다.

 세 번째 줄에는 브루노가 가지고 있는 B장의 카드에 위에서부터 적혀있는 숫자가 차례대로 띄어쓰기로 구분되어 주어진다.


 데이터의 범위는 다음과 같다.

  • 1 ≤ A ≤ 5,000, 1 ≤ B ≤ 5,000.
  • 카드에 적혀있는 숫자는 1 이상, 1000 이하이다.

출력

 두 사람이 얻을 수 있는 점수의 최댓값을 하나의 정수로 출력하라.

입력예시

「입력 예시 1」
5 4
1 2 3 4 5
3 1 4 1

「입력 예시 2」
6 5
4 1 5 2 3 4
4 5 4 2 3

출력예시

「출력 예시 1」
2

「출력 예시 2」
3

도움말

출처

[제출][채점상황]