#include <iostream>
#define MAX 1100000

using namespace std;

bool dp[MAX];
int dish[30];

bool isPrime(int n){

  for(int i = 2 ; i*i + 1 < n ; i++ ){
    if(n % i == 0) return false;
  }
  return true;

}

int main(void){

  int n, value;
  while(cin >> n >> value, n + value){

    for(int i = 0 ; i < MAX ; i++)
      dp[i] = false;

    for(int i = 0 ; i < n ; i++)
      cin >> dish[i];

    dp[0] = true;
    for(int i = 0 ; i <= value ; i++){
      if(dp[i]){
	for(int j = 0 ; j < n ; j++){
	  dp[i + dish[j]] = true;
	}
      }
    }

    bool flag = false;
    for(int i = value ; i > 0 ; i--){
      if(dp[i] && isPrime(i)){
	cout << i <<endl;
	flag = true;
	break;
      }
    }
    if(!flag) cout << "NA" << endl;
  }
}