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>
import sys
input = sys.stdin.readline

############ ---- Input Functions ---- ############
def inp():
    return(int(input()))
def inlt():
    return(list(map(int,input().split())))
def insr():
    s = input()
    return(list(s[:len(s) - 1]))
def invr():
    return(map(int,input().split()))



def codeforce(in_digits):

    lookup = {
        2: [2],
        3: [3],
        4: [3, 2, 2],
        5: [5],
        6: [5, 3],
        7: [7],
        8: [7, 2, 2, 2],
        9: [7,3,3,2]
    }
    out_digits = []

    for digit in in_digits:
        digit = int(digit)

        if digit in lookup:
            new_digits = lookup[digit]
            out_digits.extend(new_digits)

    out_digits = reversed(sorted(out_digits))

    out_digits = [str(digit) for digit in out_digits]

    return "".join(out_digits)



num_names = inp()

digits = insr()
result = codeforce(digits)
print(result)







