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

int W, N;
vector<int> R;

double calc(vector<int> v) {
  vector<int>::iterator it = v.begin();
  double sum = *it;
  int bfr = *it;
  int cnt = 1;
  v.erase(it);

  while(!v.empty()) {
    if(cnt == 0) {
      it = v.begin();
    } else {
      it = --v.end();
    }
    sum += sqrt(pow((double)(bfr + *it), 2.0) - pow((double)(bfr - *it), 2.0));

    bfr = *it;
    v.erase(it);
    cnt = 1 - cnt;
  }
  return sum + bfr;
}

void solve() {
  sort(R.begin(), R.end());
  double tmp1 = calc(R);
  reverse(R.begin(), R.end());
  double tmp2 = calc(R);

  if(min(tmp1, tmp2) <= W) {
    cout << "OK" << endl;
  } else {
    cout << "NA" << endl;
  }
}

main() {
  while(1) {
    string str;
    getline(cin, str);
    if(cin.eof()) break;
    stringstream ss;
    ss << str;
    ss >> W;
    R.clear();
    for(int i = 0; ; ++i) {
      if(ss.eof()) {
	N = i;
	break;
      }
      int tmp;
      ss >> tmp;
      R.push_back(tmp);
    }
    solve();
  }
}