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 Counter 
from collections import defaultdict
from bisect import bisect_left,bisect_right
def testcase(): return int(input())
def maps(): return map(int, input().split())
def lists(): return list(map(int, input().split()))
def sorts(): return sorted(map(int, input().split()))
def solve():
     n = testcase()
     nums = str(testcase())
     ans = []
     def isprime(num):
       if num == 2 or num == 3:
           return True
       start = 2
       while start*start <= num:
           if (not num%start):
               return False
           start += 1
       return True
     for i in range(len(nums)):
          num = int(nums[i])
          if isprime(num):
               ans.append(num)
          else:
               while num > 3:
                    if isprime(num):
                         ans.append(num)
                         break
                    curr = num
                    start = 2
                    while start*start <= curr :
                         while not curr%start:
                              ans.append(start)
                              curr //= start
                         if start == 2:
                              start += 1
                         else:
                              start += 2
                    if curr > 1:
                         ans.append(curr)
                    num -= 1
     ans.sort()
     st = ""
     for i in ans:
          st = str(i)+st
     print(int(st))
     
T = 1
for ___ in range(T):
   solve()
