n, m = map(int, input().split())
a = list(map(int, input().split()))
 
needs = [999,2,5,5,4,5,6,3,7,6]

dp=[-1]*(n+10) #needsを探索できるようにするため
dp[0]=0

for i in range(n): #小さい桁数から全探索する
  if dp[i]!=-1:
    for k in sorted(a, reverse=True): #aのうち大きい数字から試す
      matchs = needs[k] #必要なマッチの本数
      dp[i+matchs] = max(dp[i+matchs], dp[i]*10+k) #dpからの遷移
print(dp[n]) n, m = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split m a = list(map(int, input().split())) a list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split needs = [999,2,5,5,4,5,6,3,7,6] needs [999,2,5,5,4,5,6,3,7,6] 999 2 5 5 4 5 6 3 7 6 dp=[-1]*(n+10) dp [-1]*(n+10) [-1] -1 n+10 n 10 dp[0]=0 dp[0] dp 0 0 for i in range(n): #小さい桁数から全探索する
  if dp[i]!=-1:
    for k in sorted(a, reverse=True): #aのうち大きい数字から試す
      matchs = needs[k] #必要なマッチの本数
      dp[i+matchs] = max(dp[i+matchs], dp[i]*10+k) #dpからの遷移 i range(n) range n if dp[i]!=-1:
    for k in sorted(a, reverse=True): #aのうち大きい数字から試す
      matchs = needs[k] #必要なマッチの本数
      dp[i+matchs] = max(dp[i+matchs], dp[i]*10+k) #dpからの遷移 dp[i]!=-1 dp[i] dp i -1 for k in sorted(a, reverse=True): #aのうち大きい数字から試す
      matchs = needs[k] #必要なマッチの本数
      dp[i+matchs] = max(dp[i+matchs], dp[i]*10+k) #dpからの遷移 k sorted(a, reverse=True) sorted a reverse=True reverse True matchs = needs[k] matchs needs[k] needs k dp[i+matchs] = max(dp[i+matchs], dp[i]*10+k) dp[i+matchs] dp i+matchs i matchs max(dp[i+matchs], dp[i]*10+k) max dp[i+matchs] dp i+matchs i matchs dp[i]*10+k dp[i]*10 dp[i] dp i 10 k print(dp[n]) print dp[n] dp n m = map(int, input().split()) map(int, input().split()) m matchs = needs[k] needs[k] matchs a = list(map(int, input().split())) list(map(int, input().split())) a needs = [999,2,5,5,4,5,6,3,7,6] [999,2,5,5,4,5,6,3,7,6] needs dp=[-1]*(n+10) [-1]*(n+10) dp n, m = map(int, input().split()) map(int, input().split()) n
n, m = map(int, input().split())
a = list(map(int, input().split()))
 
needs = [999,2,5,5,4,5,6,3,7,6]

dp=[-1]*(n+10) #needsを探索できるようにするため
dp[0]=0

for i in range(n): #小さい桁数から全探索する
  if dp[i]!=-1:
    for k in sorted(a, reverse=True): #aのうち大きい数字から試す
      matchs = needs[k] #必要なマッチの本数
      dp[i+matchs] = max(dp[i+matchs], dp[i]*10+k) #dpからの遷移
print(dp[n])