n,_,*a=map(int,open(0).read().split())
ref={1:2,2:5,3:5,4:4,5:5,6:6,7:3,8:7,9:6}
dp=[0]+[-float('inf')]*(n+9)
for i in range(n+1):
	for x in a:
		if dp[i]<dp[i-ref[x]]*10+x:
			dp[i]=dp[i-ref[x]]*10+x
print(dp[n]) n,_,*a=map(int,open(0).read().split()) n map(int,open(0).read().split()) map int open(0).read().split() (0).read().split (0).read() (0).read (0) open 0 read split _ *a a ref={1:2,2:5,3:5,4:4,5:5,6:6,7:3,8:7,9:6} ref {1:2,2:5,3:5,4:4,5:5,6:6,7:3,8:7,9:6} 1 1 2 2 2 5 3 3 5 4 4 4 5 5 5 6 6 6 7 7 3 8 8 7 9 9 6 dp=[0]+[-float('inf')]*(n+9) dp [0]+[-float('inf')]*(n+9) [0] 0 [-float('inf')]*(n+9) [-float('inf')] -float('inf') float('inf') float 'inf' n+9 n 9 for i in range(n+1):
	for x in a:
		if dp[i]<dp[i-ref[x]]*10+x:
			dp[i]=dp[i-ref[x]]*10+x i range(n+1) range n+1 n 1 for x in a:
		if dp[i]<dp[i-ref[x]]*10+x:
			dp[i]=dp[i-ref[x]]*10+x x a if dp[i]<dp[i-ref[x]]*10+x:
			dp[i]=dp[i-ref[x]]*10+x dp[i]<dp[i-ref[x]]*10+x dp[i] dp i dp[i-ref[x]]*10+x dp[i-ref[x]]*10 dp[i-ref[x]] dp i-ref[x] i ref[x] ref x 10 x dp[i]=dp[i-ref[x]]*10+x dp[i] dp i dp[i-ref[x]]*10+x dp[i-ref[x]]*10 dp[i-ref[x]] dp i-ref[x] i ref[x] ref x 10 x print(dp[n]) print dp[n] dp n _,*a=map(int,open(0).read().split()) map(int,open(0).read().split()) _ n,_,*a=map(int,open(0).read().split()) map(int,open(0).read().split()) n ref={1:2,2:5,3:5,4:4,5:5,6:6,7:3,8:7,9:6} {1:2,2:5,3:5,4:4,5:5,6:6,7:3,8:7,9:6} ref dp=[0]+[-float('inf')]*(n+9) [0]+[-float('inf')]*(n+9) dp
n,_,*a=map(int,open(0).read().split())
ref={1:2,2:5,3:5,4:4,5:5,6:6,7:3,8:7,9:6}
dp=[0]+[-float('inf')]*(n+9)
for i in range(n+1):
	for x in a:
		if dp[i]<dp[i-ref[x]]*10+x:
			dp[i]=dp[i-ref[x]]*10+x
print(dp[n])