#include "bits/stdc++.h"
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
#define rep(i,n) for(ll i=0;i<(ll)(n);i++)
#define all(a)  (a).begin(),(a).end()
#define pb push_back
#define INF (1e9+1)
//#define INF (1LL<<59)

vector<string> split(string s,char ch){
	vector<string> ret;
	string tmp ="";
	rep(i,s.size()){
		if(s[i]==ch){
			ret.pb(tmp);
			tmp = "";
		}else tmp+=s[i];
	}
	if(tmp.size())ret.pb(tmp);
	return ret;
}

double calc(int r1,int r2){
	return sqrt((r1+r2)*(r1+r2)-abs(r1-r2)*abs(r1-r2));
}

double solve(vector<int> v){
	double dp[1<<12][12];
	rep(i,1<<12)rep(j,12)dp[i][j] = 10000;
	
	rep(i,v.size()){
		dp[1<<i][i] = v[i];
	}
	
	for(int bit=1;bit<(1<<v.size());bit++){
		rep(use,v.size()){
			if((bit&(1<<use))!=0)continue;
			rep(last,v.size()){
				dp[bit | (1<<use)][use] = min( dp[bit | (1<<use)][use] , dp[bit][last] + calc(v[last],v[use]) );
			}
		}
	}
	
	double ret = 100000;
	rep(i,v.size()){
		ret = min(ret,dp[(1<<v.size())-1][i]+v[i]);
	}
	return ret;
}

int main(){
	string s;
	while(getline(cin,s)){
		vector<string> vvvvv = split(s,' ');
		int w = stoi(vvvvv[0]);
		vector<int> v;
		for(int i=1;i<vvvvv.size();i++)v.pb(stoi(vvvvv[i]));
		
		double res = solve(v);
		
		if(res-(1e-9)<=w)cout<<"OK"<<endl;
		else cout<<"NA"<<endl;
	}
}