Vasya decided to pass a very large integer $*n*$ to Kate. First, he wrote that number as a string, then he appended to the right integer $*k*$ — the number of digits in $*n*$.
Magically, all the numbers were shuffled in arbitrary order while this note was passed to Kate. The only thing that Vasya remembers, is a non-empty substring of $*n*$ (a substring of $*n*$ is a sequence of consecutive digits of the number $*n*$).
Vasya knows that there may be more than one way to restore the number $*n*$. Your task is to find the smallest possible initial integer $*n*$. Note that decimal representation of number $*n*$ contained no leading zeroes, except the case the integer $*n*$ was equal to zero itself (in this case a single digit 0 was used).
Input
The first line of the input contains the string received by Kate. The number of digits in this string does not exceed $1 000 000$.
The second line contains the substring of $*n*$ which Vasya remembers. This string can contain leading zeroes.
It is guaranteed that the input data is correct, and the answer always exists.
Output
Print the smalles integer $*n*$ which Vasya could pass to Kate.
样例
003512
021
30021
199966633300
63
3036366999
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。