#include <iostream>
#include <math.h>
#include <stdio.h>
#include <algorithm>
#include <list>
using namespace std;

int main() {
 int i,n,k,box;
 double s,a,b,da[15];
 list<double> lis;
 list<double>::iterator it;
 while(cin >> box) {
 n=0;
 while(cin >> da[n++]) if (cin.peek()=='\n') break;
 sort(da,da+n);
 lis.push_front(da[0]);
 for (i=1;i<(n/2)*2;i++) {
	 k=(i % 2)==0 ? i/2 : (n-1)-i/2;
  if ((i % 2==1 && (lis.front()<lis.back())) || (i % 2==0 && (lis.front()>lis.back()))) lis.push_front(da[k]);
  else lis.push_back(da[k]); }
 if (n>1 && n % 2==1)
	 if (2*sqrt(da[n/2]*lis.front())-lis.front()<2*sqrt(da[n/2]*lis.back())-lis.back()) lis.push_front(da[n/2]); 
	 else lis.push_back(da[n/2]);   
 s=lis.front();
 for (it=lis.begin(),i=0;i<n-1;i++,it++) { a=*it++; b=*it--; s+=2*sqrt(a*b); }
 s+=lis.back();
 if (s<=box) cout << "OK" << endl; else cout << "NA" << endl; 
 lis.clear();
 }
 return 0;	
}