CPRMT - Common Permutation

Given two strings of lowercase letters, a and b, print the longest string x of lowercase letters such that there is a permutation of x that is a subsequence of a and there is a permutation of x that is a subsequence of b.

Input

Input file contains several lines of input. Consecutive two lines make a set of input. That means in the input file line 1 and 2 is a set of input, line 3 and 4 is a set of input and so on. The first line of a pair contains a and the second contains b. Each string is on a separate line and consists of at most 1000 lowercase letters.

Output

For each set of input, output a line containing x. If several x satisfy the criteria above, choose the first one in alphabetical order.

Example

Sample input:
pretty
women
walking
down
the
street
 
Sample output:
e
nw
et 

Added by:Andrés Leonardo Rojas Duarte
Date:2007-08-05
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO NODEJS PERL6 VB.NET
Resource:University of Alberta Local Contest 1999

hide comments
2018-10-18 15:52:25
#ACin1GO
2018-10-11 09:08:23
how can there be more than 1 possible x as all common characters will be there in x .
2018-08-18 15:17:44
2 freq array that's all O(n) :)
2018-06-29 14:33:00
Looks difficult but simple AC in 0.00 with arrays.
2018-03-27 23:34:38
Did it using Binary search!
2017-08-12 00:25:32
did it using DP :)
2017-06-14 18:25:17
too easy and straightforward !!!
2017-04-17 20:22:36
Its easy ,just think simply.
2017-03-15 21:17:10
did in O(n)..
2017-03-13 12:51:06
Why does DP approach fail here? I got a WA using DP but A/C using simple logic.
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.