같은 증가 순서로 쓰레기 줍기

시간 제한2초메모리 제한128 MB

문제

당신은 이틀 동안 같은 길에 놓인 쓰레기를 줍는다.

각 날에는 첫 번째 쓰레기가 있는 위치에서 출발해 N번째 쓰레기가 있는 위치까지 한 방향으로만 걸어간다. 지나온 길을 되돌아갈 수 없으므로, 각 날에 주운 쓰레기들은 그날의 위치 순서대로 선택된 부분수열이어야 한다. 모든 쓰레기를 주울 필요는 없다.

고장 난 쓰레기봉투 때문에 다음 조건을 모두 만족해야 한다.

  • 첫째 날에 주운 쓰레기의 크기는 주운 순서대로 엄격히 증가해야 한다.
  • 둘째 날에 주운 쓰레기의 크기도 주운 순서대로 엄격히 증가해야 한다.
  • 두 날에 주운 쓰레기의 개수와 크기 순서가 완전히 같아야 한다. 예를 들어 첫째 날에 크기 2, 3, 5, 6인 쓰레기를 주웠다면, 둘째 날에도 정확히 2, 3, 5, 6을 그 순서대로 주워야 하며 다른 쓰레기는 주울 수 없다.

하루에 주울 수 있는 쓰레기의 최대 개수를 구하라.

입력

첫째 줄에 쓰레기의 개수 N이 주어진다. (N ≤ 1,000)

둘째 줄에는 첫째 날 쓰레기의 크기 N개가 위치 순서대로 주어진다.

셋째 줄에는 둘째 날 쓰레기의 크기 N개가 위치 순서대로 주어진다.

쓰레기의 크기는 50,000 이하의 자연수이다.

출력

하루에 주울 수 있는 쓰레기의 최대 개수를 출력한다.