Drazil is playing a math game with Varda.

Let's define <image> for positive integer x as a product of factorials of its digits. For example, <image>.

First, they choose a decimal number a consisting of n digits that contains at least one digit larger than 1. This number may possibly start with leading zeroes. Then they should find maximum positive number x satisfying following two conditions:

1. x doesn't contain neither digit 0 nor digit 1.

2. <image> = <image>.

Help friends find such number.

Input

The first line contains an integer n (1 ≤ n ≤ 15) — the number of digits in a.

The second line contains n digits of a. There is at least one digit in a that is larger than 1. Number a may possibly contain leading zeroes.

Output

Output a maximum possible integer satisfying the conditions above. There should be no zeroes and ones in this number decimal representation.

Examples

Input

4
1234


Output

33222


Input

3
555


Output

555

Note

In the first case, <image>
n = int(input().strip())
m = input().strip()
ll = []
ll1 = []
for i in m:
    i = int(i)
    if i == 4:
        ll1.append(3)
        ll.append(2)
        ll.append(2)
    elif i == 6:
        ll.append(2)
        ll.append(3)
        ll1.append(5)
    elif i == 8:
        ll.append(2)
        ll.append(2)
        ll.append(2)
        ll1.append(7)
    elif i == 9:
        for i in range(2):
            ll.append(2)
            ll.append(3)
        ll.append(2)
        ll1.append(7)
    else:
        if i > 1 :
            if i in [2,3]:
                ll1.append(i)
            else:
                ll1.append(i)
k = [0,0]
for i in ll:
    if i == 2:
        k[0] += 1
    else:
        k[1] += 1
l = min(k)
for i in range(l):
    ll1.append(3)
for i in range(max(k)-l):
    ll1.append(2)
ll1 = sorted(ll1)
k = ''
for i in ll1:
    k = k + str(i)
print(k[-1::-1])

