#include<bits/stdc++.h>
using namespace std;
int sosu[1000005]={0};
int check[50][1000005];
main(){
  int n,k;
  int shop[50];
  sosu[1]=1;
  for(int i=2;i<(int)sqrt(1000005);i++){
    if(sosu[i]==0){
      for(int j=i;j<1000005;j+=i){
	sosu[j]=1;
      }
    }
  }
  while(1){
    bool a=true;
    cin>>n>>k;
    if(n==0&&k==0)break;
    memset(check,0,sizeof(check));
    for(int i=1;i<=n;i++){
      cin>>shop[i];
    }
    for(int i=1;i<=n;i++){
      for(int j=1;j<=k;j++){
	if(check[i-1][j]==1){
	  for(int l=j;l<=k;l+=shop[i]){
	    check[i][l]=1;
	  }
	}
      }  
      for(int j=shop[i];j<=k;j+=shop[i]){
	check[i][j]=1;
      }
    }
    for(int i=k;i>0;i--){
      if(sosu[i]==0&&check[n][i]==1){
	cout<<i<<endl;
	i=0;
	a=false;
      } 
    }
    if(a){
      cout<<"NA"<<endl;
    }
  }
}