C = gets.to_i N = gets.to_i a = gets.split.map(&:to_i) INF = C + 1 dp = Array.new(C + 1, INF) dp[0] = 0 a.each do |x| (0..C-x).each do |y| if dp[y + x] > dp[y] + 1 dp[y + x] = dp[y] + 1 end end end ans = if dp[C] < INF dp[C] else -1 end puts ans