Given a sequence X={X1, X2,...,Xm}, another sequence  Z={Z1, Z2,...Zk} is a subsequence of X if there exists a strictly increasing sequence {i1,i2,..,ik} of indices of X such that for all j=1,2,...,k, we have Xij = Zj. For example, Z= {B, C, D, B} is a subsequence of X={ A, B, C, B, D, A, B} with corresponding index sequence {2, 3, 5, 7}.


Given two sequences X and Y, we say that a sequence Z is a common subsequence of X and Y if Z is a subsequence of both X and Y. For example, if X={ A,B,C,B,D,A,B} and Y={B,D, C,A,B,A}, the sequence {B,C,A} is a common subsequence of both X and Y. However, Z is not the longest common subsequence of X and Y; the longest common subsequence of them is {B, C, B, A} with the length 4, since there is no common subsequence of length 5 or greater.


Now, you are given two sequences X and Y and wished to find maximum-length common subsequence(s) of X and Y.




The input consists of several test cases. Each test case consists of two lines: each line contains a sequence. The length of each sequence is at least one and does not exceed 100.




For each test case, print the length of the longest common sequence in the first line. This is followed by line(s),each line contains a longest common sequence, in alphabetical order. Print a blank line between each consecutive test case.


Sample Input:





Sample Output: