Professor GukiZ doesn't accept string as they are. He likes to swap some letters in string to obtain a new one.

GukiZ has strings *a*, *b*, and *c*. He wants to obtain string *k* by swapping some letters in *a*, so that *k* should contain as many non-overlapping substrings equal either to *b* or *c* as possible. Substring of string *x* is a string formed by consecutive segment of characters from *x*. Two substrings of string *x* overlap if there is position *i* in string *x* occupied by both of them.

GukiZ was disappointed because none of his students managed to solve the problem. Can you help them and find one of possible strings *k*?
The first line contains string *a*, the second line contains string *b*, and the third line contains string *c* (1 ≤ |*a*|, |*b*|, |*c*| ≤ 10<sup class="upper-index">5</sup>, where |*s*| denotes the length of string *s*).

All three strings consist only of lowercase English letters. 

It is possible that *b* and *c* coincide.
def sub(string, substring):
    n_counts = len(string)
    for char in substring:
        if n_counts > string.count(char)//substring.count(char):
            n_counts = string.count(char)//substring.count(char)
    return n_counts

if __name__ == "__main__":
    a = input()
    b = input()
    c = input()
    out = ''
    n_ab = sub(a, b)
    for _ in range(n_ab):
        out += b
    for char in b:
        a = a.replace(char, '', n_ab)
    n_ac = sub(a, c)
    for _ in range(n_ac):
        out += c
    for char in c:
        a = a.replace(char, '', n_ac)
    out += a
    print(out)
