RNA

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

문제

RNA는 몸속에서 중요한 일을 하는 분자다. RNA 분자의 구조는 다음 네 조건을 만족하는 순서쌍 (S,P)(S, P)로 나타낸다.

  1. 어떤 양의 정수 n450n \le 450에 대해 S=s1s2snS = s_1 s_2 \dots s_n이고 P=p1p2pnP = p_1 p_2 \dots p_n이다.
  2. SS의 각 원소 sis_iA, C, G, U 중 하나다.
  3. PP의 각 원소 pip_i는 별표, 여는 괄호, 닫는 괄호 중 하나다.
  4. PP는 균형 잡힌 괄호열이다. 별표를 모두 지우고 나면 각 여는 괄호는 자기 뒤의 닫는 괄호 하나와 일대일로 짝을 이루고, 각 닫는 괄호는 자기 앞의 여는 괄호 하나와 일대일로 짝을 이룬다는 뜻이다.

아래는 RNA 구조 두 개다. 왼쪽이 A1=(S1,P1)A_1 = (S_1, P_1), 오른쪽이 A2=(S2,P2)A_2 = (S_2, P_2)이다.

ACCCGAACUU   AAUAUCCCGAAU
((**)*(*))   *(**)(**)*()

두 RNA 구조 A=(S,P)A = (S, P)A=(S,P)A' = (S', P')에 대해 iji \le j인 정수 ii, jj가 있어서 S=sisjS' = s_i \dots s_j이고 P=pipjP' = p_i \dots p_j이면 AA'AA의 부분구조라고 한다. AA'도 RNA 구조이므로 PP'의 괄호 역시 균형이 맞아야 한다. 예를 들어

CCCG
(**)

A3=(S3,P3)A_3 = (S_3, P_3)A1A_1의 부분구조다. 반면

ACCCGAACU
((**)*(*)

A4=(S4,P4)A_4 = (S_4, P_4)P4P_4의 괄호 균형이 맞지 않아 A1A_1의 부분구조가 아니다.

두 RNA 구조 XXYY에 대해 ZZ가 둘 모두의 부분구조이면 ZZXXYY의 공통 부분구조라고 한다. 최장 공통 부분구조는 공통 부분구조 가운데 길이가 가장 긴 것이다.

위의 A1A_1A2A_2라면 최장 공통 부분구조의 길이는 5이고 다음과 같다.

CCCGA
(**)*

다음은 괄호 균형이 맞지 않아서 A1A_1A2A_2의 공통 부분구조가 아니다.

CCCGAA
(**)*(

길이가 450 이하인 RNA 구조 두 개가 주어진다. 최장 공통 부분구조의 길이를 구하라.

입력

입력은 네 줄이다. 첫째 줄은 첫 번째 RNA의 염기 서열 SS, 둘째 줄은 그 괄호열 PP다. 셋째 줄은 두 번째 RNA의 염기 서열 SS', 넷째 줄은 그 괄호열 PP'다.

한 RNA에서 염기 서열과 괄호열은 길이가 같고, 그 길이는 1 이상 450 이하다.

출력

최장 공통 부분구조의 길이를 한 줄에 출력한다. 공통 부분구조가 하나도 없으면 0을 출력한다.