#include <iostream>
#include <cmath>
#include <complex>
#include <algorithm>
#include <sstream>
#include <cstring>

using namespace std;

#define loop(i,a,b) for(int i=(a); i<int(b); i++)
#define rep(i,b) loop(i,0,b)
#define all(c) (c).begin(), (c).end()

typedef vector<int> vi;
double const eps=1e-8;
double const inf=1e100;
double dp[12][1<<12];
int w;
int r[12];
int n;

double hamilton(int v, int S){
    double& res=dp[v][S];
    if(res!=0) return res;
    if(S==(1<<n)-1){
        res=r[v];
    }else{
        res=inf;
        rep(i,n){
            if(S>>i&1) continue;
            double dy=abs(r[v]-r[i]);
            double a=r[v]+r[i];
            double dx=sqrt(a*a-dy*dy);
            res = min(res, dx + hamilton(i,S|(1<<i)));
        }
    }
    return res;
}

bool solve(){
    memset(dp,0,sizeof(dp));
    random_shuffle(r,r+n);
    rep(i,n){
        if(r[i]+hamilton(i,1<<i) <= w+eps) return true;
    }
    return false;
}

int main(){
    string s;
    while(getline(cin,s)){
        stringstream ss(s);
        ss>>w;
        int t;
        n=0;
        while(ss>>t) r[n++]=t;
        static const char ans[2][3]={"OK","NA"};
        cout << ans[1-solve()] << endl;
    }
}