#P2127. Greatest Common Increasing Subsequence

Greatest Common Increasing Subsequence

Description

You are given two sequences of integer numbers. Write a program to determine their common increasing subsequence of maximal possible length.

Sequence S1

, S

2

, . . . , S

N

of length N is called an increasing subsequence of a sequence A

1

, A

2

, . . . , A

M

of length M if there exist 1 <= i

1

< i

2

< . . . < i

N

<= M such that S

j

= A

ij

for all 1 <= j <= N , and S

j

< S

j+1

for all 1 <= j < N .

Input

Each sequence is described with M --- its length (1 <= M <= 500) and M integer numbers A

i

(-2

31

<= A

i

< 2

31

) --- the sequence itself.

Output

On the first line of the output file print L --- the length of the greatest common increasing subsequence of both sequences. On the second line print the subsequence itself. If there are several possible answers, output any of them.

5
1 4 2 5 -12
4
-12 1 2 4
2
1 4

Source

Northeastern Europe 2003

, Northern Subregion