require 'prime' m = gets.to_i n = gets.to_i c = gets.split.map(&:to_i) dp = Array.new(m+1, -1) dp[m] = 0 m.downto(1) { |i| next if m[i] < 0 c.each { |j| dp[i-j] = [dp[i-j], dp[i]+1].max if dp[i] >= 0 && j <= i } } puts dp.max + dp.each_with_index.inject(0) {|p,c| p + (c[1].prime? && c[0] > 0 ? c[0] : 0)}