Drazil is playing a math game with Varda.

Let's define <img align="middle" class="tex-formula" src="https://espresso.codeforces.com/7020b94c48be2ee5b8eeca05f379c8911bb0e7c4.png" style="max-width: 100.0%;max-height: 100.0%;"/> for positive integer *x* as a product of factorials of its digits. For example, <img align="middle" class="tex-formula" src="https://espresso.codeforces.com/6784d861d9a724d0aeddefcb00b7d0c3442ae586.png" style="max-width: 100.0%;max-height: 100.0%;"/>.

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. <img align="middle" class="tex-formula" src="https://espresso.codeforces.com/7020b94c48be2ee5b8eeca05f379c8911bb0e7c4.png" style="max-width: 100.0%;max-height: 100.0%;"/> = <img align="middle" class="tex-formula" src="https://espresso.codeforces.com/aa57e017a6c74d06b0a54bc47e3f6990e5af38c1.png" style="max-width: 100.0%;max-height: 100.0%;"/>.

Help friends find such number.
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.
#*****************************************************************************
#*     __      ________        __________         __________      __      __ *
#*    |  |    |        |      ||_________|       ||________|      ||      || *
#*    |  |    |        |      ||                 ||               ||      || *
#*    |  |    |________|      ||                 ||               ||      || *
#*    |  |    |________|      ||     ______      ||      ______   ||      || *
#* ___|  |    |        |      ||____| | | |      ||_____| | | |   ||______|| *
#*|______|    |        |      ||______| |_|      ||_______| |_|   ||______|| *
#*                                                                           *
#******************************************************************************


from collections import defaultdict as D
from math import *
from sys import stdin, stdout

MOD = 10**9+7
MAX = 10**18+1
MIN = -MAX

def reshape(count, val=0): return [ val for i in range(count) ]

def vec_read(): return list(map(int,stdin.readline().split()))

def read(): return map(int,stdin.readline().split())

def get_string(): return stdin.readline().strip()


##################################################

a=['','','2','3','223','5','35','7','2227','3327']
def solve():

    # Logic Starts Here
    n = int(input())
    s=[]
    for i in str(input()):
        s+=a[int(i)]
    # s = ''.join(s)
    print(''.join(sorted(s,reverse=True)))


def test_cases():
    t = int(input())
    while t:
        solve()
        t-=1

## Driver Code
if __name__ == '__main__':
    # test_cases()
    solve()