#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;

int n;
int x;
int d[100];
bool p[1000001];
bool memo[1000001];

int solve(int a,int k){

  if(a > x) return 0;
  if(memo[a]) return memo[a];

  memo[a] = true;

  for(int i=k;i<n;i++) solve(a+d[i],k);

}

int main(){

      memset(p,true,sizeof(p));
      p[0] = p[1] = false;
      for(int i=2;i*i<1000001;i++){
	if(p[i]) for(int j=i+i;j<1000001;j+=i) p[j] = false;
      }

  while(true){
    cin >> n >> x;
    if(!n && !x) break;

    memset(memo,0,sizeof(memo));
    for(int i=0;i<n;i++) cin >> d[i];

    solve(0,0);

    int ans = -1;
    for(int i=2;i<x;i++){
      if(memo[i] && p[i]) ans = i;
    }

    if(ans < 0) cout << "NA" << endl;
    else cout << ans << endl;

  }
}