#include <bits/stdc++.h>

using namespace std;
using ll = long long;
using pii = pair<int, int>;

vector<string> split(const string& str, const string& seps) {
  char *p, *str_buff = new char[str.size() + 1];
  vector<string> res;
  strcpy(str_buff, str.c_str());
  p = strtok(str_buff, seps.c_str());
  while (p) {
    res.emplace_back(p);
    p = strtok(NULL, seps.c_str());
  }
  delete str_buff;
  return res;
}

const int INF = 1 << 30;
int W, n;
vector<int> r;
double dp[1 << 12][12];

int main() {
  cin.tie(0);
  ios_base::sync_with_stdio(false);
  cout << fixed << setprecision(10);
  
  string s;
  while (getline(cin, s)) {
    auto v = split(s, " ");
    W = stoi(v[0]), n = v.size() - 1;
    r.clear();
    for (int i = 1; i < (int)v.size(); i++) {
      r.emplace_back(stoi(v[i]));
    }
    fill_n(*dp, (1 << 12) * 12, INF);
    for (int i = 0; i < n; i++) {
      dp[1 << i][i] = 2 * r[i];
    }
    for (int i = 0; i < 1 << n; i++) {
      for (int j = 0; j < n; j++) {
        if (i >> j & 1) {
          for (int k = 0; k < n; k++) {
            dp[i][j] = min(dp[i][j], dp[i - (1 << j)][k] - r[k] + 2 * sqrt(r[k] * r[j]) + r[j]);
          }
        }
      }
    }
    auto d = dp[(1 << n) - 1];
    cout << (W - *min_element(d, d + n) > -1e-10 ? "OK" : "NA") << endl;
  }

  return 0;
}
