#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#include <cmath>
using namespace std;
#define DIST(R1,R2)(2*sqrt((double)(R1)*(R2)))
double dp[1<<12][12];
int main() {
	string str;
	while(getline(cin,str)) {
		stringstream sstr(str);
		int n,m,R[12];
		sstr>>m;
		for(n=0;sstr>>R[n];n++);
		fill((double*)dp,(double*)(dp+(1<<12)),1<<27);
		for(int i=0;i<n;i++) {
			dp[1<<i][i]=R[i];
		}
		for(int i=1;i<(1<<n);i++) {
			for(int j=0;j<n;j++) {
				if(dp[i][j]==(1<<27)) continue;
				for(int k=0;k<n;k++) {
					if(i&(1<<k)) continue;
					dp[i|(1<<k)][k]=min(dp[i|(1<<k)][k],dp[i][j]+DIST(R[j],R[k]));
				}
			}
		}
		bool OK=false;
		for(int i=0;i<n;i++) {
			if((dp[(1<<n)-1][i]+R[i])<=m) {OK=true;break;}
		}
		cout<<(OK?"OK":"NA")<<endl;
	}
}