#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ls p<<1
#define rs p<<1|1
#define pb push_back
const ll N=2e5+10;
const ll M=2e3+10;
const ll inf=1e12;
const ll mod=1e9+7;
inline ll lowbit(ll x){
return x&(-x);
}
const ll num[20]={0,2,5,5,4,5,6,3,7,6};
ll n,m;
ll a[N];
string b[N];
string dp[N];
inline string ma(string a,string b){
if(a.size()>b.size()) return a;
if(b.size()>a.size()) return b;
for(int i=0;i<a.size();i++){
if(a[i]<b[i]) return b;
if(b[i]<a[i]) return a;
}
return a;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n>>m;
for(int i=1;i<=m;i++){
string x;
cin>>x;
a[i]=x[0]-'0';
b[i]=x;
dp[num[x[0]-'0']]=x;
}
for(int i=1;i<=n;i++){
string s="0";
for(int j=1;j<=m;j++){
if(i-num[a[j]]<0) continue;
ll tmp=i-num[a[j]];
if(dp[tmp]=="") continue;
if(s=="0") s=b[j]+dp[tmp];
else s=ma(s,b[j]+dp[tmp]);
}
if(s!="0") dp[i]=ma(dp[i],s);
}
cout<<dp[n];
return 0;
}