#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;

double pythagoras( int a, int b )
{
	return 2 * sqrt( (double)( a * b ) );
}

int main()
{
	int length;

	while( cin >> length ){
		string s;
		getline( cin, s );

		vector< int > curcles;
		stringstream ss( s );
		while( !ss.eof() ){
			int r;
			ss >> r;
			curcles.push_back( r );
		}
		sort( curcles.begin(), curcles.end() );

		double width = 0.f;
		int f = 0, b = curcles.size() - 1;
		int minR = 0, maxR = 0;
		int edge1 = curcles[ f++ ], edge2 = edge1;
		for( int i = 0; i < (int)curcles.size() - 1; ++i ){
			minR = curcles[ f ];
			maxR = curcles[ b ];
			if( maxR - edge1 > edge2 - minR ){
				width += pythagoras( edge1, maxR );
				edge1 = maxR;
				--b;
			}else{
				width += pythagoras( edge2, minR );
				edge2 = minR;
				++f;
			}
			if( edge1 > edge2 ){
				swap( edge1, edge2 );
			}
		}
		width += edge1 + edge2;

		cout << ( width <= length ? "OK" : "NA" ) << endl;
	}

	return 0;
}