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

int W, N;
vector<int> R;

int pow(int x, int n) {
  return (int)(pow((double)x, (double)n) + 0.5);
}

double calc(vector<int> v, int cnt) {
  vector<int>::iterator it;
  double sum;
  int bfr;
  bool first = true;

  while(!v.empty()) {
    if(cnt == 0) {
      it = v.begin();
    } else {
      it = --v.end();
    }

    if(first) {
      sum = *it;
      first = false;
    } else {
      sum += sqrt(pow(bfr + *it, 2) - pow(bfr - *it, 2));
    }

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

void solve() {
  sort(R.begin(), R.end());
  double tmp;
  tmp = min(calc(R, 0), calc(R, 1));
  reverse(R.begin(), R.end());
  tmp = min(min(tmp, calc(R, 0)), calc(R, 1));

  if(tmp <= 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();
  }
}