#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <ctime>
#include <iostream>
#include <algorithm>
#include <sstream>
#include <string>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <set>
#include <utility>
#include <cctype>
using namespace std;

#define rep(i,n) for(int (i)=0; (i)<(int)(n); ++(i))
#define foreach(c,i) for(__typeof((c).begin()) i=(c).begin();i!=(c).end();i++)
typedef pair<int,int> P;

string in;
int L, temp;

int main() {
  while (getline(cin, in)) {
    istringstream is(in);
    is >> L;
    vector<int> cakes;
    while (is >> temp) {
      cakes.push_back(temp);
    }

    sort(cakes.begin(), cakes.end());
    bool ok = false;
    do {
      double current_length = cakes[0];
      for (int i = 0; i < cakes.size() - 1; ++i) {
        if (cakes[i] == cakes[i+1]) {
          current_length += 2 * cakes[i];
        } else {
          int larger = max(cakes[i], cakes[i+1]);
          int smaller = min(cakes[i], cakes[i+1]);
          double height = larger - smaller;
          double naname = larger + smaller;
          double width = sqrt(pow(naname, 2) - pow(height, 2));
          current_length += width;
        }
      }
      current_length += cakes[cakes.size() - 1];
      if (L >= current_length) { ok = true; break; }
    } while (next_permutation(cakes.begin(), cakes.end()));
    printf("%s\n", (ok) ? "OK": "NA");
  }
  return 0;
}