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()

if len(c) < len(b):b,c = c,b

counta = {}
for i in a:
    if i in counta:counta[i]+=1
    else:counta[i]=1

countb = {}
for i in b:
    if i in countb : countb[i]+=1
    else : countb[i]=1

countc = {}
for i in c:
    if i in countc : countc[i]+=1
    else : countc[i]=1

maxV = 0
count_of_b = 0
count_of_c = 0
for i in range(len(a)):
    temdiary = {} 
    for p,q in counta.items():temdiary[p]=q
    # print(temdiary)
    temp1 = i
    tester = False
    for j in countb:
        if j in counta: 
            temdiary[j] = temdiary[j] - (i*countb[j])
            if temdiary[j]<0:
                tester=True
                break
        else: 
            temp1=0
            ttemdiary = {} 
            for p,q in counta.items():temdiary[p]=q 
            break
        # print(temdiary)

    if tester:break
    
    temp2 = 100000000

    for j in countc:
        if j in counta : temp2 = min(temp2,temdiary[j]//countc[j])
        else: 
            temp2=0
            break
    
    if temp1+temp2 > maxV:
        count_of_b = temp1
        count_of_c = temp2

if count_of_b>0:
    for i in countb.keys():
        counta[i] -= countb[i]*count_of_b

if count_of_c>0:
    for i in countc.keys():
        counta[i] -= countc[i]*count_of_c

ans = b*count_of_b + c*count_of_c
for i in counta:
    ans+=i*counta[i]

print(ans)

