#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <iomanip>
#include <cmath>
#include <queue>
#include <vector>
using namespace std;
long long n,m;
long long a[15],b[15],c[15];
long long vis[10005],f[10005],cnt[10005],k[10005];
int main(){
scanf("%lld%lld",&n,&m);
b[1]=2,b[2]=b[3]=b[5]=5,b[7]=3,b[8]=7,b[9]=b[6]=6,b[4]=4;
for(int i=1;i<=m;i++){
scanf("%lld",&a[i]);
cnt[b[a[i]]]=1;
}
for(int i=1;i<=m;i++){
c[b[a[i]]]=max(c[b[a[i]]],a[i]);
}
f[0]=1;
for(int i=0;i<=n;i++){
for(int j=1;j<=m;j++){
if(f[i]){
f[i+b[a[j]]]=1;
if(cnt[b[a[j]]]+cnt[i]>=cnt[i+b[a[j]]]){
cnt[i+b[a[j]]]=cnt[i]+cnt[b[a[j]]];
vis[i+b[a[j]]]=b[a[j]];
}
}
}
}
long long x=n;
long long tot=0;
while(x>0){
k[++tot]=c[vis[x]];
x-=vis[x];
}
if(k[1]<k[tot]){
for(int i=tot;i>=1;i--){
cout<<k[i];
}
}
else{
for(int i=1;i<=tot;i++){
cout<<k[i];
}
}
return 0;
}