m=gets.to_i n=gets.to_i c=gets.split.map &:to_i def d g c=true g=4 if g==0 || g==1 gg=Math.sqrt(g).floor 2.upto(gg) do |i| if g%i==0 c=false break end end c end a=[m] b=Hash.new(0) cc=0 while true do cc+=1 aa=[] a.each do |e| n.times do |i| aa.push(e-c[i]) if e-c[i]>=0 end end aa.uniq! break if aa==[] aa.each do |e| b[e]=cc end a=aa.dup end b.each do |e,v| cc+=v if d e end p cc-1