'use strict'
function Main(input){
  input=input.split(/\s+/);
  for(let i=0;i<input.length;i++){
    input[i]=parseInt(input[i]);
  }
  var N=input.shift(), M=input.shift();
  var A=input;
  var costList=[
    Infinity,//0は不採用。（添字を揃えるために入れている。）
    2,//1
    5,//2
    5,//3
    4,//4
    5,//5
    6,//6
    3,//7
    7,//8
    6,//9
  ]
  var Entry=[false,0,0,0,0,0,0,0,0,0];
  for(let i=0;i<M;i++){
    Entry[A[i]]++;
  }
  var branch=[];
  for(let cost=2;cost<8;cost++){
    for(let num=9;num>0;num--){
      if(!(Entry[num]))continue;
      if(costList[num]!==cost)continue;
      branch.push(num);
    }
  }
  var b=branch.length;
  var c=[];
  for(let i=0;i<b;i++){
    c[i]=costList[branch[i]]
  }
  var tree=[];
  var depth=0;
  function DFS(){
    if(N===0)return;
    if(N>=c[0]){
      tree.push(0);
      N-=c[0];
      DFS();
      if(N===0)return;
    }
    var leaf=tree.pop();
    if(leaf<b-1){
      leaf++;
      tree.push(leaf);
      N+=c[leaf-1]-c[leaf];
      DFS();
      return;
    }else{
      N-=c[leaf]
      return;
    }
    N+=c[tree.pop()];
  }
  DFS();
  var digStr=[
    'hoge',//0
    '',//1
    '',//2
    '',//3
    '',//4
    '',//5
    '',//6
    '',//7
    '',//8
    '',//9
  ];
  for(let i=0;i<tree.length;i++){
    digStr[branch[tree[i]]]=digStr[branch[tree[i]]]+branch[tree[i]];
  }
  var str='';
  for(let i=1;i<10;i++){
    str=digStr[i]+str;
  }
  console.log(str);
}

Main(require('fs').readFileSync('/dev/stdin','utf8'));