#include<bits/stdc++.h>
using namespace std;
double tri(int a,int b){
  double c;
  if(a>b){
    double tmp=a;
    a=b;
    b=tmp;
  }
  c=sqrt((((a+b)*(a+b))-((b-a)*(b-a))));
  return c;
}
int main(){
  double W;
  vector<int>r;
  double a;
  while(cin>>W){
    while(cin>>a)
      r.push_back(a);
    sort(r.begin(),r.end());
    double ans[r.size()];
    int s,t;
    if(r.size()%2==0){
      s=r.size()/2;t=r.size()/2;
    }else{
      s=r.size()/2;t=r.size()/2+1;
    }
    for(int i=0;i<s;i++)
      ans[2*i]=(double)r[i];
    for(int i=0;i<s;i++)
      ans[2*i+1]=(double)r[i+t];
    if(s!=t)
      ans[r.size()-1]=r[s];
    double wide=0;
    for(int i=0;i<r.size()-1;i++){
      wide+=tri(ans[i],ans[i+1]);
    }
    /*for(int i=0;i<r.size();i++)
      cout<<ans[i]<<" ";
      cout<<endl;*/
    wide+=ans[0];wide+=ans[r.size()-1];
    //cout<<wide<<endl;
    if(W>=wide){
      cout<<"OK"<<endl;
    }else{
      for(int i=0;i<s;i++)
	ans[2*i+1]=(double)r[i];
      for(int i=0;i<s;i++)
	ans[2*i]=(double)r[i+t];
      if(s!=t)
	ans[r.size()-1]=r[s];
      wide=0;
      /*for(int i=0;i<r.size();i++)
	cout<<ans[i]<<" ";
	cout<<endl;*/
      for(int i=0;i<r.size()-1;i++){
	wide+=tri(ans[i],ans[i+1]);
      }
      wide+=ans[0];wide+=ans[r.size()-1];
      
      //cout<<wide<<endl;
      if(W>=wide)
	cout<<"OK"<<endl;
      else
	cout<<"NO"<<endl;
    }
  }
  return 0;
}