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.
a = input()
b = input()
c = input()

all_set = set(a + b + c)

a_dict = {}
b_dict = {}
c_dict = {}

def getDict(string, string_set, dictionary) :
    for ch in string_set:
        dictionary[ch] = string.count(ch)
def getMin(object_dict, sub_dict):
    return min([object_dict[ch] // sub_dict[ch] for ch in sub_dict.keys() if sub_dict[ch] > 0])

getDict(a, all_set, a_dict)
getDict(b, all_set, b_dict)
getDict(c, all_set, c_dict)

bMin = getMin(a_dict, b_dict)
cMin = getMin(a_dict, c_dict)

if bMin >= cMin:
    bbMin = getMin(a_dict, b_dict)
    if bbMin > 0:
        for ch in b_dict.keys():
            a_dict[ch] -= b_dict[ch] * bbMin
    
    ccMin = getMin(a_dict, c_dict)
    if ccMin > 0:
        for ch in c_dict.keys():
            a_dict[ch] -= c_dict[ch] * ccMin

    print(b * bbMin, end = "")
    print(c * ccMin, end = "")
    for ch in a_dict.keys():
        print(ch * a_dict[ch], end = "")
    print()
else:
    ccMin = getMin(a_dict, c_dict)
    if ccMin > 0:
        for ch in c_dict.keys():
            a_dict[ch] -= c_dict[ch] * ccMin

    bbMin = getMin(a_dict, b_dict)
    if bbMin > 0:
        for ch in b_dict.keys():
            a_dict[ch] -= b_dict[ch] * bbMin
            
    print(b * bbMin, end = "")
    print(c * ccMin, end = "")
    for ch in a_dict.keys():
        print(ch * a_dict[ch], end = "")
    print()