#include<iostream>
#include<cstdlib>
#include<string>
#include<vector>
#include<algorithm>
#include<cmath>
using namespace std;

int l,r[12],n;
string in,tmp;
vector<int> dp[1<<12];
double dpv[1<<12];

double cal(vector<int> v){
  double res = 0;
  int i;
  if(v.size()){
    res += r[v[0]];
    for(i=0;i<(int)v.size()-1;i++)res += sqrt( pow(r[v[i]]+r[v[i+1]],2) - pow(r[v[i]]-r[v[i+1]],2));
    res += r[v[i]];
  }
  return res;
}

int main(){
  while(getline(cin,in)){
    int pos = 0;
    bool f = false;
    n = 0;
    while(1){
      if(pos>=(int)in.size() || in[pos]==' '){
	if(!f){
	  l = atoi(tmp.c_str());
	  f = true;
	}else{
	  r[n] = atoi(tmp.c_str());
	  n++;
	}
	tmp.clear();
	if(pos>=(int)in.size())break;
      }else{
	tmp.push_back(in[pos]);
      }
      pos++;
    }

    for(int i=0;i<(1<<n);i++){
      dp[i].clear();
      dpv[i] = 1000.0;
    } 
    
    for(int i=1;i<(1<<n);i++){
      for(int j=0;j<n;j++){
	if(i&(1<<j)){
	  int g = i-(1<<j);
	  vector<int> hoge = dp[g];
	  hoge.push_back(j);
	  dp[i] = hoge;
	  dpv[i] = cal(hoge);
	  
	  for(int k=(int)hoge.size()-1;k>=1;k--){
	    swap(hoge[k],hoge[k-1]);
	    double s = cal(hoge);
	    
	    if(s<dpv[i]){
	      dp[i] = hoge;
	      dpv[i] = s;
	    }
	    
	  }
	}
      }
    }
    if(dpv[(1<<n)-1]>l)cout << "NA" << endl;
    else cout << "OK" << endl;
  }
}