#include <cstdio>
#include <cstring>
#include <algorithm>
#include <string>
#include <cmath>
#include <stack>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <list>
#include <iostream>
#include <sstream>
#include <climits>
#include <cfloat>

typedef long long ll;

using namespace std;

double calculate_len(int* r, int n)
{
	double t = 0;
	for (int i = 1; i < n; ++i)
		t += sqrt((double)r[i-1] * r[i]);
	return r[0] + r[n-1] + 2*t;
}
int main()
{
	while (true)
	{
		char buf[256];
		cin.getline(buf, sizeof(buf));
		if (strlen(buf) == 0)
			break;

		istringstream is(buf);
		int len, radius[16], n;
		is >> len;
		for (n = 0; is >> radius[n]; ++n)
			;

		sort(radius, radius + n);
		int r[16];
		int i, j, k;
		for (i = 0, j = n/2-1, k = 2; j >= 0 && j < n; ++i, j += k, k = -k/abs(k)*(abs(k)+2))
			r[j] = radius[i];
		for (i = n-1, j = n/2, k = -2; j >= 0 && j < n; --i, j += k, k = -k/abs(k)*(abs(k)+2))
			r[j] = radius[i];
		double ans = calculate_len(r, n);
		if (n & 1)
		{
			for (i = n-1, j = n/2-1, k = 2; j >= 0 && j < n; --i, j += k, k = -k/abs(k)*(abs(k)+2))
				r[j] = radius[i];
			for (i = 0, j = n/2, k = -2; j >= 0 && j < n; ++i, j += k, k = -k/abs(k)*(abs(k)+2))
				r[j] = radius[i];
			ans = min(ans, calculate_len(r, n));
		}

		if (ans <= len+1e-4)
			puts("OK");
		else
			puts("NA");
	}

	return 0;
}