시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 3 MB 45 10 8 21.053%

문제

Byteman은 그가 좋아하는 텍스트 에디터를 Byephone(이 이름은 단어 byte와 phone에서 따온 이름이다.) 이라는 새로운 핸드폰에 포팅하고 있다.

그 에디터의 특징 중 하나는 두 문서를 한 줄씩 비교해줄 수 있다는 것이다.

그 비교는 두 문자열의 최장 공통 부분 수열 (Longest Common Subsequence)을 계산하는 알고리즘을 기반으로 하고 있다.

Byteman은 이내 그 핸드폰이 그가 사용하는 알고리즘을 돌릴 만큼 충분한 메모리가 가지고 있지 않다는 것을 깨달았고 당신에게 도움을 요청했다.

3MB의 메모리만을 사용해서 입력으로 주어지는 두 문자열의 최장 공통 부분 수열을 구하는 프로그램을 작성해라.

입력

표준 입력의 첫번째 줄에는 두 개의 정수 n1 과 n2 (1 ≤ n1, n2 ≤ 10 000)가 주어지며, 이는 두 문자열의 길이를 의미한다.

두번째 줄과 세번째 줄에는 각각 길이가 n1,n2인 문자열이 주어지며, 두 문자열은 영어 알파벳 소문자로만 이루어져 있다.

출력

표준 출력으로 두 줄을 출력해야한다.

첫번째 줄에는 두 문자열의 최장 공통 부분 수열의 길이 K를 출력해야한다.

두번째 줄에는 길이가 K인 최장 공통 부분 수열을 출력해야한다.

만약 답이 여러개 있을 경우, 그 중에 하나만 출력한다.

예제 입력

5 6
abcad
dacbda

예제 출력

3
acd

힌트

출처

Camp > Czech, Polish and Slovak Preparation Camp > CPSPC 2010 41번