#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <list>
#include <vector>
#define REP(i, a, b) for (int i = (a); i < (b); ++i)
#define rep(i, n) REP(i, 0, n)
#define pb push_back
#define pf push_front
int main()
{
	int a[12], b[12];
	char buf[256];
	while (fgets(buf, 256, stdin)) {
		char* p = strtok(buf, " ");
		int L = atoi(p);
		int n = 0;
		while (p = strtok(NULL, " ")) a[n++] = atoi(p);
		std::sort(a, a + n);
		bool ok = false;

		b[n/2] = a[0];
		int i = 0, j = 1, k = 1, l = 1;
		while (i < n) {
			if (i % 4 == 0) { b[n/2+k] = a[n-l]; l++; }
			if (i % 4 == 1) { b[n/2-k] = a[n-l]; l++; k++; }
			if (i % 4 == 2) { b[n/2+k] = a[j]; j++; }
			if (i % 4 == 3) { b[n/2-k] = a[j]; j++; k++; }
			i++;
		}
		double t = b[0];
		REP(i, 1, n) t += 2 * sqrt(b[i-1] * b[i]);
		t += b[n-1];
		if (!(t > L)) ok = true;

		/*
		do {
			double t = a[0];
			REP(i, 1, n) t += 2 * sqrt(a[i-1] * a[i]);
			t += a[n-1];
			if (!(t > L)) { ok = true; break; }
		} while (std::next_permutation(a, a+n));
		*/
		puts(ok ? "OK" : "NA");
	}
	return 0;
}