#include <cstdio>
#include <cmath>
#include <cfloat>
#include <algorithm>
using namespace std;

int main() {
  char buf[200];
  int r[12];
  double p[12][12];
  double dp[1<<12][12];
  double ans;
  int w;
  int n, iread, ibuf;
  int v;
  while (fgets(buf, sizeof(buf), stdin)) {
    n = 0;
    ibuf = 0;
    sscanf(buf, "%d%n", &w, &iread);
    ibuf += iread;
    while (n < 12 && sscanf(buf+ibuf, "%d%n", &r[n], &iread) == 1) {
      n++;
      ibuf += iread;
    }

    for (int i=0; i<n; i++) {
      for (int j=0; j<n; j++) {
        if (i==j) {
          p[i][j] = 0.0;
        } else {
          p[i][j] = 2.0 * sqrt(r[i] * r[j]);
        }
      }
    }
    for (int i=0; i<(1<<n); i++) {
      for (int j=0; j<n; j++) {
        dp[i][j] = DBL_MAX;
      }
    }

    v = (1<<n)-1;
    for (int i=0; i<n; i++) dp[v][i] = r[i];
    --v;
    while (v) {
      for (int i=0; i<n; i++) {
        if (!(v & (1<<i))) continue;
        for (int j=0; j<n; j++) {
          if (v & (1<<j)) continue;
          dp[v][i] = min(dp[v][i], dp[v|(1<<j)][j]+p[i][j]);
        }
      }
      --v;
    }
    ans = DBL_MAX;
    for (int i=0; i<n; i++) {
      ans = min(ans, dp[1<<i][i]+r[i]);
    }
    if (ans <= w) {
      printf("OK\n");
    } else {
      printf("NA\n");
    }
  }
  return 0;
}