#include <stdio.h>
#include <math.h>
#include <string.h>
??
int is_prime(int a)
{
????????int last = sqrt(a) + 1;
????????int i;
??
????????for (i = 2; i <= last; i++){
????????????????if (a % i == 0){
????????????????????????if (a == i) return (1);
????????????????????????return (0);
????????????????}
????????}
????????return (1);
}
??
int main(void)
{
????????static char dp[10000001];
????????int n, x,i,j;
??
????????while (scanf("%d %d", &n, &x), n){
????????????????memset(dp, 0, sizeof(dp));
????????????????*dp = 1;
????????????????for (i = 0; i < n; i++){
????????????????????????int cost;
????????????????????????scanf("%d", &cost);
??
????????????????????????for (j = 0; j + cost <= x; j++){
????????????????????????????????if (dp[j]) dp[j + cost] = 1;
????????????????????????}
????????????????}
????????????????for (i = x; i > 0; i--){
????????????????????????if (dp[i] && is_prime(i)){
????????????????????????????????printf("%d\n", i);
????????????????????????????????break;
????????????????????????}
????????????????}
????????????????if (!i) puts("NA");
????????}
????????return (0);
}