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*$?
Input
The first line contains string $*a*$, the second line contains string $*b*$, and the third line contains string $*c*$ ($1 ≤ |*a*|, |*b*|, |*c*| ≤ 10^{5}$, 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.
Output
Find one of possible strings $*k*$, as described in the problem statement. If there are multiple possible answers, print any of them.
Note
In the third sample, this optimal solutions has three non-overlaping substrings equal to either $*b*$ or $*c*$ on positions $1 – 2$ ($*ab*$), $3 – 4$ ($*ab*$), $5 – 7$ ($*aca*$). In this sample, there exist many other optimal solutions, one of them would be $*acaababbcc*$.
样例
aaa
a
b
aaa
pozdravstaklenidodiri
niste
dobri
nisteaadddiiklooprrvz
abbbaaccca
ab
aca
ababacabcc
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。