#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<sstream>
#include<utility>
#include<map>
#include<vector>
#include<queue>
#include<algorithm>
using namespace std;
typedef long long ll;
typedef pair<int,int>P;
char I[1000],*p;
int R[15],N;
double B,EPS=0.00001,dp[1<<13][13];

double calc(int a,int b)
{
	if(a==-1)return R[b];
	if(b==-1)return R[a];
	int x=R[a]+R[b],y=R[a]-R[b];
	return sqrt((double)(x*x-y*y));
}

double dfs(int f,int s,int d)
{
	if(s>=0&&dp[f][s]>0)return dp[f][s];
	if(d==N)
	{
		return R[s];
	}
	double res=1000000;
	for(int i=0;i<N;i++)
	{
		if(!(f>>i&1))
		{
			res=min(res,dfs(f|1<<i,i,d+1)+calc(s,i));
		}
	}
	if(s>=0)dp[f][s]=res;
	return res;
}

int main()
{
	for(;gets(I);)
	{
		memset(dp,0,sizeof(dp));
		p=strtok(I," ");
		B=(double)atoi(p);
		for(N=0;(p=strtok(NULL," "))!=NULL;)
			R[N++]=atoi(p);
		puts(B-dfs(0,-1,0)>=-EPS?"OK":"NA");
	}
}