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 java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
import java.util.Arrays;
 
/**
 * @author Alice
 */
public class Main {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner str = new Scanner(System.in);
		int n = str.nextInt();
		String in = str.next();
		int []a = new int[10];
		for(int i = 0; i < n; i++) {
			switch(in.charAt(i)) { 
			case '2': a[2]++; break;
			case '3': a[3]++; break;
			case '4': a[3]++; a[2] += 2; break;
			case '5': a[5]++; break;
			case '6': a[5]++; a[3]++; break;
			case '7': a[7]++; break;
			case '8': a[7]++; a[2] += 3; break;
			case '9': a[7]++; a[3] += 2; a[2]++; break;
			default: break;
			}
		}
		
		for(int j1 = 0; j1 < a[7]; j1++) {
			System.out.print(7);
		}
		for(int j1 = 0; j1 < a[5]; j1++) {
			System.out.print(5);
		}
		for(int j1 = 0; j1 < a[3]; j1++) {
			System.out.print(3);
		}
		for(int j1 = 0; j1 < a[2]; j1++) {
			System.out.print(2);
		}
    }
}