output_description: Print the largest integer that can be formed with exactly N matchsticks under
  the conditions in the problem statement.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N M
      A_1 A_2 ... A_M
attempt: import numpy as np
  
  
  def judge(N, n, list_new, A, min):
      # judge if we can make the perfect match
      if n == 1:
          if N in list_new:
              s = np.where(N == list_new)
              s = s[0].tolist()
              l = []
              for item in A[s]:
                  l.append([item])
              return l
          else:
              return []
      listy = []
      list_here = np.sort(list_new)
      list_h = list_here[::-1]
      for i in range(len(list_h)):
          item = list_new[i]
          M = N - item
          m = n - 1
          if M < min * m or item * m < M:
              pass
          else:
              s = judge(M, m, list_new, A, min)
              if s != []:
                  for sin in s:
                      listy.append(np.append(sin, A[i]))
      if listy == []:
          return []
      else:
          return listy
  
  
  list = [2, 5, 5, 4, 5, 6, 3, 7, 6]
  s = input()
  s = s.split()
  N = int(s[0])
  M = int(s[1])
  t = input()
  A = t.split()
  list_new = []
  for i in range(M):
      A[i] = int(A[i])
  A = np.array(A)
  for item in A:
      list_new.append(list[item - 1])
  list_new = np.array(list_new)
  min = np.min(list_new)
  q, mod = divmod(N, min)
  a = np.where(list_new == min)
  a = a[0].tolist()
  num = A[a]
  digit = max(num)
  number = str(digit) * q
  
  while True:
      a = judge(N, q, list_new, A, min)
      if a != []:
          listofnumbers = []
          for item in a:
              item.sort()
              string = ""
              for i in item:
                  string = str(i) + string
              listofnumbers.append(int(string))
          print(np.max(listofnumbers))
          break
      else:
          q = q - 1
  
problem_description: Statement
  
  Find the largest integer that can be formed with exactly N matchsticks, under
  the following conditions:
  
    * Every digit in the integer must be one of the digits A_1, A_2, ..., A_M (1 \leq A_i \leq 9).
    * The number of matchsticks used to form digits 1, 2, 3, 4, 5, 6, 7, 8, 9 should be 2, 5, 5, 4, 5, 6, 3, 7, 6, respectively.
samples: [{"input": "20 4\n    3 7 8 4", "output": "777773\n    \n\nThe integer 777773 can be formed with 3 + 3 + 3 + 3 + 3 + 5 = 20 matchsticks,\nand this is the largest integer that can be formed by 20 matchsticks under the\nconditions.\n\n* * *"}, {"input": "101 9\n    9 8 7 6 5 4 3 2 1", "output": "71111111111111111111111111111111111111111111111111\n    \n\nThe output may not fit into a 64-bit integer type.\n\n* * *"}, {"input": "15 3\n    5 4 6", "output": "654"}]