#include <iostream>
#include <deque>
#include <sstream>
#include <cmath>
using namespace std;

double distance(int r1, int r2)
{
	double a = pow(abs(r1 - r2), 2);
	double b = pow(r1 + r2, 2);
	return sqrt(-a + b);
}

int main()
{
	int box_width;
	while (cin >> box_width) {
		string line;
		stringstream ss;
		deque<int> cakes;
		getline(cin, line);
		ss << line;
		int r;
		while (ss >> r) {
			cakes.push_back(r);
		}
		sort(cakes.begin(), cakes.end());
		// for (int i = 0; i < cakes.size(); ++i) {
			// cout << cakes[i] << endl;
		// }

		bool ok = false;
		deque<int> save = cakes;

		double length = cakes.front() * 2;
		int prev = cakes.front();
		cakes.pop_front();
		bool front = false;
		while (!cakes.empty()) {
			int current;
			if (front) {
				current = cakes.front();
				cakes.pop_front();
			} else {
				current = cakes.back();
				cakes.pop_back();
			}
			length -= prev;
			length += distance(prev, current);
			length += current;
			prev = current;
			front = !front;
		}
		if (length <= box_width) {
			ok = true;
		}
		// cout << length << ' ';

		cakes = save;
		length = cakes.back() * 2;
		prev = cakes.back();
		cakes.pop_back();
		front = true;
		while (!cakes.empty()) {
			int current;
			if (front) {
				current = cakes.front();
				cakes.pop_front();
			} else {
				current = cakes.back();
				cakes.pop_back();
			}
			length -= prev;
			length += distance(prev, current);
			length += current;
			prev = current;
			front = !front;
		}
		if (length <= box_width) {
			ok = true;
		}
		// cout << length << ' ';

		if (ok) {
			cout << "OK" << endl;
		} else {
			cout << "NA" << endl;
		}
	}
}