최대 공통 증가 부분 수열

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

정수로 이루어진 두 수열 AABB 가 주어진다. 두 수열의 공통 증가 부분 수열 중 가장 긴 것의 길이를 구하는 프로그램을 작성하시오.

수열 S1,S2,,SkS_1, S_2, \dots, S_k 가 수열 X1,X2,,XLX_1, X_2, \dots, X_L증가하는 부분 수열이라는 것은 다음 두 조건을 모두 만족한다는 뜻이다.

  • Sj=XijS_j = X_{i_j} 를 만족하는 인덱스 1i1<i2<<ikL1 \le i_1 < i_2 < \dots < i_k \le L 가 존재한다. 즉, SSXX 의 부분 수열이다.
  • 모든 1j<k1 \le j < k 에 대해 Sj<Sj+1S_j < S_{j+1} 이다. 즉, SS 는 강하게 증가한다.

공통 증가 부분 수열AABB 두 수열 모두의 증가하는 부분 수열인 수열을 말한다.

입력

두 수열이 각각 두 줄에 걸쳐 주어진다.

  • 첫째 줄에 첫 번째 수열의 길이 NN 이 주어진다. (1N5001 \le N \le 500)
  • 둘째 줄에 첫 번째 수열의 원소 A1,A2,,ANA_1, A_2, \dots, A_N 이 공백으로 구분되어 주어진다. (231Ai<231-2^{31} \le A_i < 2^{31})
  • 셋째 줄에 두 번째 수열의 길이 MM 이 주어진다. (1M5001 \le M \le 500)
  • 넷째 줄에 두 번째 수열의 원소 B1,B2,,BMB_1, B_2, \dots, B_M 이 공백으로 구분되어 주어진다. (231Bi<231-2^{31} \le B_i < 2^{31})

출력

최대 공통 증가 부분 수열의 길이를 한 정수로 출력한다. 공통 증가 부분 수열이 존재하지 않으면 00 을 출력한다.