require'prime'
t=[]
Prime.each(1e6){|i|t[i]=true}
while(n,x=gets.split.map &:to_i)[0]>m=0
d=t.dup
c=(1..n).map{gets.to_i}

#n.times{i=gets.to_i;(i..x).each{|j|d[j-i]&&(d[j]=true;m<j&&t[j]&&m=j)}}
puts m<1?:NA:m
end