stablegradients/pie-gem5-pairs huggingface dataset:
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

typedef long long int ll;

vector<ll>vec;

int main() 

{

    ll k,a,b;

    cin>>k>>a>>b;

    ll f=0;

    for(ll i=a;i<=b;i++)

    {

        if(i%k==0){

            f=1;

            break;

        }

    }

    if(f)

    cout<<"OK"<<endl;

    else

    cout<<"NG"<<endl;

	return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.2955861781868885x):
#include <stdio.h>

int main(){

    int multiple;

    int start;

    int end;

    scanf("%d", &multiple);

    scanf("%d %d", &start, &end);

    int length = end - start;

    int count;

    for(int i = 0; i <= length ; i++){

        int total = start % multiple;

        start++;

        if(total == 0){

            count++;

        }

        else{

            count = count + 0;;

        }

    }

    if(count > 0){

        printf("OK\n");

    }

    else{

        printf("NG\n");

    }

    return 0;

}
// Slower C++ solution:
/**

*Coder: Yeshayah

**/



#include <bits/stdc++.h>

using namespace std;



int main() {

    ios::sync_with_stdio(0);

    cin.tie(0);

    //freopen("in.txt","r",stdin);

    //freopen("out.txt","w",stdout);

    int k, a, b;

    cin >> k >> a >> b;

    int p = a / k;

    p += a % k == 0 ? 0 : 1;

    if (b >= p * k) cout << "OK\n";

    else cout << "NG\n";

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.355192571828156x):
#include <stdio.h>

int main(){

    int multiple;

    int start;

    int end;

    scanf("%d", &multiple);

    scanf("%d %d", &start, &end);

    int length = end - start;

    int count;

    for(int i = 0; i <= length ; i++){

        int total = start % multiple;

        start++;

        if(total == 0){

            count++;

        }

        else{

            count = count + 0;;

        }

    }

    if(count > 0){

        printf("OK\n");

    }

    else{

        printf("NG\n");

    }

    return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>



using namespace std;



int main(){

    int n,i,A,B,d,flag=0;

    cin>>n>>A>>B;

    for(i=1;i<=1000;i++){

        if(n>0){d=i%n;}

        if(d==0){

            if(i>=A && i<=B){

                    flag=1;



            }

        }

    }

    if(flag==1){cout<<"OK"<<endl;}

    if(flag==0){cout<<"NG"<<endl;}



    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.326454706659495x):
#include <stdio.h>

int main(){

    int multiple;

    int start;

    int end;

    scanf("%d", &multiple);

    scanf("%d %d", &start, &end);

    int length = end - start;

    int count;

    for(int i = 0; i <= length ; i++){

        int total = start % multiple;

        start++;

        if(total == 0){

            count++;

        }

        else{

            count = count + 0;;

        }

    }

    if(count > 0){

        printf("OK\n");

    }

    else{

        printf("NG\n");

    }

    return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;



int main()

{

    int a,b,k;

    cin>>k;

	cin>>a>>b;

    int i=a;

    while(i<=b)

    {

        if(i%k==0)

        {



            cout<<"OK"<<endl;

            break;

        }

        i++;

    }

    if(i==b+1)

        cout<<"NG"<<endl;



}

// Faster C++ solution for the same problem (measured speedup: 5.295142793272483x):
#include <stdio.h>

int main(){

    int multiple;

    int start;

    int end;

    scanf("%d", &multiple);

    scanf("%d %d", &start, &end);

    int length = end - start;

    int count;

    for(int i = 0; i <= length ; i++){

        int total = start % multiple;

        start++;

        if(total == 0){

            count++;

        }

        else{

            count = count + 0;;

        }

    }

    if(count > 0){

        printf("OK\n");

    }

    else{

        printf("NG\n");

    }

    return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

    int A,B,k,i,count=0;

    cin >> k >> A >>B;

    for(i=A;i<=B;i++)

    {

       if(i%k==0)

        count=1;

    }

    if(count==1)

    {

        cout << "OK";

    }

    else

    {

        cout << "NG";

    }



}


// Faster C++ solution for the same problem (measured speedup: 5.283521935916762x):
#include <stdio.h>

int main(){

    int multiple;

    int start;

    int end;

    scanf("%d", &multiple);

    scanf("%d %d", &start, &end);

    int length = end - start;

    int count;

    for(int i = 0; i <= length ; i++){

        int total = start % multiple;

        start++;

        if(total == 0){

            count++;

        }

        else{

            count = count + 0;;

        }

    }

    if(count > 0){

        printf("OK\n");

    }

    else{

        printf("NG\n");

    }

    return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;



typedef long long ll;



#define optimize() ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);

#define file() freopen("input.txt","r",stdin);freopen("output.txt","w",stdout);

#define tt int t; cin>>t; while(t--)

#define nl cout<<"\n";

#define sp cout<<" ";

#define rep(i, a, b) for(long long i=a; i<b; i++)



const int INF = 1e9 + 7;

const int MOD = 1e9 + 7;

double PI = 4*atan(1);



int main()

{

    optimize();



    int n, a, b;



    cin>> n>> a>> b;



    for(int i=a; i<=b; i++)

    {

        if(i% n== 0)

        {

            cout<< "OK\n";

            return 0;

        }

    }



 cout<< "NG\n";



    return 0;

}






// Faster C++ solution for the same problem (measured speedup: 5.357182313682078x):
#include <stdio.h>

int main(){

    int multiple;

    int start;

    int end;

    scanf("%d", &multiple);

    scanf("%d %d", &start, &end);

    int length = end - start;

    int count;

    for(int i = 0; i <= length ; i++){

        int total = start % multiple;

        start++;

        if(total == 0){

            count++;

        }

        else{

            count = count + 0;;

        }

    }

    if(count > 0){

        printf("OK\n");

    }

    else{

        printf("NG\n");

    }

    return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h> 

using namespace std;

#define int long long int

#define float double

#define pb push_back

#define FF first

#define SS second

#define N 201000

#define MOD 1000000007

#define fn(i,n) for(int i=0;i<n;i++)

#define rep(i,l,r) for(int i=l;i<=r;i++)

#define pii pair<int,int>

#define mp make_pair

#define INF 1000000000000000000

#define speed ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)





signed main() 

{

    speed;

    //freopen("input.txt","r",stdin);

    //freopen("output.txt","w",stdout);

    

    int k,a,b;

    cin>>k>>a>>b;

    if(a%k==0 || b%k==0) cout<<"OK";

    else if((a/k)==(b/k)) cout<<"NG";

    else cout<<"OK";

}

// Faster C++ solution for the same problem (measured speedup: 5.354459641533748x):
#include <stdio.h>



int main (){

    

    int k,a,b;

    int flag = 0;

    scanf("%d", &k);

    scanf("%d %d", &a, &b);



    for(int i=a; i<=b; i++){

        if(i%k==0){

          flag = 1;  

        }

    }

    if(flag == 1){

        printf("OK\n");

    } else {

        printf("NG\n");

    }

        return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

#define ll long long

#define ull unsigned long long

#define IO ios::sync_with_stdio(false), cin.tie(0)

#define endl '\n'

#define pi acos(-1.0)

#define ms(a, x) memset(a, x, sizeof(a))

#define lowbit(x) ((x)&(-(x)))

#define pb push_back

#define binarycount __builtin_popcount(x)

#define tr t[root]

#define lson t[root << 1]

#define rson t[root << 1 | 1]

#define debug(x) cout<<x<<'\n'

#define pii pair<ll,pair<ll,ll> >

using namespace std;

const int inf = 0x3f3f3f3f;

const ll INF=0x3f3f3f3f3f3f3f3f;

const ll mod = 1e9+7;

const double eps = 1e-8;

ll gcd(ll a, ll b) {return b==0?a:gcd(b, a%b);}

ll lcm(ll a, ll b) {return a/gcd(a, b)*b;}

ll powmod(ll a,ll b){

    ll ans = 1, pow = a;

    while(b) { if(b&1) ans = (ans*pow)%mod; pow = (pow*pow)%mod; b >>= 1; }

    return ans;

}

ll mul(ll a,ll b){//大数取模乘法防止溢出

    ll ans=0;

    a%=mod,b%=mod;

    while(b) { if(b&1) ans = (ans+a)%mod; a = (a*2)%mod; b >>= 1; }

    return ans;

}

//(b/a)%p=b*a^(p-2)%p

int pr(ll num){//判断素数

     if(num == 1) return 0;

     if(num ==2|| num==3 ) return 1 ;

     if(num %6!= 1&&num %6!= 5) return 0 ;

     int tmp =sqrt( num);

     for(int i= 5;i <=tmp; i+=6 )

          if(num %i== 0||num %(i+ 2)==0 )return 0 ;

     return 1 ;

}

int Day(int y,int m, int d){

    if(m==1||m==2) { m+=12; y--; }

    int w=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;

    return w+1;

}

inline int read() {

    int c = 0, f = 1;

    char ch = getchar();

    while (ch < '0' || ch > '9') {

        if (ch == '-') f = -1;

        ch = getchar();

    }

    while (ch >= '0' && ch <= '9') {

        c = c * 10 + ch - '0';

        ch = getchar();

    }

    return c * f;

}



//#pragma comment(linker, "/STACK:1024000000,1024000000")//外挂开栈

//stable_sort 排序不处理相同元素

//map<int,int>::reverse_iterator rit;

//for(rit=mp.rbegin();rit!=mp.rend();rit++)

//vec动态二维数组

//vector<vector<int>> g(26,vector<int>(100005));

//初始化vec里面套了n个vec



//lower_bound(begin,end,num) 有序数列中返回第一个>=num的数字的地址

//upper_bound( begin,end,num) 返回第一个>num的数字的地址



const int maxn=1e5+5;

int main(){

    int k;

    int a,b;

    cin>>k>>a>>b;

    for(int i=a;i<=b;++i){

        if(i%k==0){

            cout<<"OK"<<endl;

            return 0;

        }

    }

    cout<<"NG"<<endl;

    return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.274546380327263x):
#include <stdio.h>



int main (){

    

    int k,a,b;

    int flag = 0;

    scanf("%d", &k);

    scanf("%d %d", &a, &b);



    for(int i=a; i<=b; i++){

        if(i%k==0){

          flag = 1;  

        }

    }

    if(flag == 1){

        printf("OK\n");

    } else {

        printf("NG\n");

    }

        return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

#include<iostream>

#include<algorithm>

#include<cstring>

#include<cstdio>

#include<cmath>

#define ll  long long

#define ull unsigned long long

#define IO ios::sync_with_stdio(false), cin.tie(0)

#define endl '\n'

#define main() int main()

#define ff1(i,n) for(int i=1;i<=n;++i)

#define ff0(i,n) for(int i=0;i<n;++i)

#define pi acos(-1.0)

#define ms(a, x) memset(a, x, sizeof(a))

#define lowbit(x) ((x)&(-(x)))

#define pb push_back

#define binarycount __builtin_popcount(x)

#define tr t[root]

#define lson t[root << 1]

#define rson t[root << 1 | 1]

#define fir first

#define sec second

#define debug(x) cout<<x<<'\n'

#define sa(a) scanf("%d", &a)

#define sab(a, b) scanf("%d%d", &a, &b)

#define pa(a) printf("%d",a)

#define pab(a,b) printf("%d%d",a,b)

#define pii pair<int,int>

using namespace std;



#define maxn 10000005

const int inf = 0x3f3f3f3f;

const int mod = 1e9+7;

const double eps = 1e-8;

ll gcd(ll a, ll b) {return b==0?a:gcd(b, a%b);}

ll lcm(ll a, ll b) {return a/gcd(a, b)*b;}

ll powmod(ll a,ll b){

    ll ans = 1, pow = a%mod;

    while(b) { if(b&1) ans = (ans*pow)%mod; pow = (pow*pow)%mod; b >>= 1; }

    return ans%mod;

}

map<int,int> mp;

main(){

	IO;

	ll k,a,b;

	cin>>k>>a>>b; 

	for(int i=a;i<=b;i++){

		if(i%k==0){

			cout<<"OK"<<endl;

			return 0;

		}

	}

	cout<<"NG"<<endl;

}

// Faster C++ solution for the same problem (measured speedup: 5.352012732151394x):
#include <stdio.h>



int main (){

    

    int k,a,b;

    int flag = 0;

    scanf("%d", &k);

    scanf("%d %d", &a, &b);



    for(int i=a; i<=b; i++){

        if(i%k==0){

          flag = 1;  

        }

    }

    if(flag == 1){

        printf("OK\n");

    } else {

        printf("NG\n");

    }

        return 0;

}
// Slower C++ solution:
#include <iostream>

#include <stdio.h>

#include <cstring>

#include <string>

#include <vector>

#include <set>

#include <map>

#include <algorithm>

#include <cmath>

#include <queue>

using namespace std;

typedef long long ll;

const int maxn=1e5+111;

int main(){

    int k,a,b;

    scanf("%d%d%d",&k,&a,&b);

    int num=b/k-(a-1)/k;

    if(num) puts("OK");

    else puts("NG");

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.22176670489722x):
#include <stdio.h>



int main (){

    

    int k,a,b;

    int flag = 0;

    scanf("%d", &k);

    scanf("%d %d", &a, &b);



    for(int i=a; i<=b; i++){

        if(i%k==0){

          flag = 1;  

        }

    }

    if(flag == 1){

        printf("OK\n");

    } else {

        printf("NG\n");

    }

        return 0;

}
// Slower C++ solution:
#include<iostream>



using namespace std;



int main(){

    int k,a,b;

    cin>>k>>a>>b;

    k*=b/k;

    if(a<=k && k<=b) cout<<"OK";

    else cout<<"NG";

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.280543408157617x):
#include <stdio.h>



int main (){

    

    int k,a,b;

    int flag = 0;

    scanf("%d", &k);

    scanf("%d %d", &a, &b);



    for(int i=a; i<=b; i++){

        if(i%k==0){

          flag = 1;  

        }

    }

    if(flag == 1){

        printf("OK\n");

    } else {

        printf("NG\n");

    }

        return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

    int k,a,b,sum,zz=1;

    scanf("%d%d%d",&k,&a,&b);

    sum=k;

    if(sum>=a&&sum<=b)

    {

        cout<<"OK"<<endl;

        return 0;

    }

    while(sum<=b)

    {

        zz++;

        sum=zz*k;

        //cout<<sum<<endl;

        if(sum>=a&&sum<=b)

        {

            cout<<"OK"<<endl;

            return 0;

        }



    }

    cout<<"NG"<<endl;

}


// Faster C++ solution for the same problem (measured speedup: 5.290208989605731x):
#include <stdio.h>



int main (){

    

    int k,a,b;

    int flag = 0;

    scanf("%d", &k);

    scanf("%d %d", &a, &b);



    for(int i=a; i<=b; i++){

        if(i%k==0){

          flag = 1;  

        }

    }

    if(flag == 1){

        printf("OK\n");

    } else {

        printf("NG\n");

    }

        return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>

using namespace std;

typedef long long int ll;

vector<ll>vec;

int main() 

{

    ll k,a,b;

    cin>>k>>a>>b;

    ll f=0;

    for(ll i=a;i<=b;i++)

    {

        if(i%k==0){

            f=1;

            break;

        }

    }

    if(f)

    cout<<"OK"<<endl;

    else

    cout<<"NG"<<endl;

	return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.2937811756563775x):
#include <stdio.h>



int main (){

    

    int k,a,b;

    int flag = 0;

    scanf("%d", &k);

    scanf("%d %d", &a, &b);



    for(int i=a; i<=b; i++){

        if(i%k==0){

          flag = 1;  

        }

    }

    if(flag == 1){

        printf("OK\n");

    } else {

        printf("NG\n");

    }

        return 0;

}
// Slower C++ solution:
/**

*Coder: Yeshayah

**/



#include <bits/stdc++.h>

using namespace std;



int main() {

    ios::sync_with_stdio(0);

    cin.tie(0);

    //freopen("in.txt","r",stdin);

    //freopen("out.txt","w",stdout);

    int k, a, b;

    cin >> k >> a >> b;

    int p = a / k;

    p += a % k == 0 ? 0 : 1;

    if (b >= p * k) cout << "OK\n";

    else cout << "NG\n";

    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.353367252436068x):
#include <stdio.h>



int main (){

    

    int k,a,b;

    int flag = 0;

    scanf("%d", &k);

    scanf("%d %d", &a, &b);



    for(int i=a; i<=b; i++){

        if(i%k==0){

          flag = 1;  

        }

    }

    if(flag == 1){

        printf("OK\n");

    } else {

        printf("NG\n");

    }

        return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h>



using namespace std;



int main(){

    int n,i,A,B,d,flag=0;

    cin>>n>>A>>B;

    for(i=1;i<=1000;i++){

        if(n>0){d=i%n;}

        if(d==0){

            if(i>=A && i<=B){

                    flag=1;



            }

        }

    }

    if(flag==1){cout<<"OK"<<endl;}

    if(flag==0){cout<<"NG"<<endl;}



    return 0;

}

// Faster C++ solution for the same problem (measured speedup: 5.324639182579504x):
#include <stdio.h>



int main (){

    

    int k,a,b;

    int flag = 0;

    scanf("%d", &k);

    scanf("%d %d", &a, &b);



    for(int i=a; i<=b; i++){

        if(i%k==0){

          flag = 1;  

        }

    }

    if(flag == 1){

        printf("OK\n");

    } else {

        printf("NG\n");

    }

        return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;



int main()

{

    int a,b,k;

    cin>>k;

	cin>>a>>b;

    int i=a;

    while(i<=b)

    {

        if(i%k==0)

        {



            cout<<"OK"<<endl;

            break;

        }

        i++;

    }

    if(i==b+1)

        cout<<"NG"<<endl;



}

// Faster C++ solution for the same problem (measured speedup: 5.293337941869886x):
#include <stdio.h>



int main (){

    

    int k,a,b;

    int flag = 0;

    scanf("%d", &k);

    scanf("%d %d", &a, &b);



    for(int i=a; i<=b; i++){

        if(i%k==0){

          flag = 1;  

        }

    }

    if(flag == 1){

        printf("OK\n");

    } else {

        printf("NG\n");

    }

        return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;

int main()

{

    int A,B,k,i,count=0;

    cin >> k >> A >>B;

    for(i=A;i<=B;i++)

    {

       if(i%k==0)

        count=1;

    }

    if(count==1)

    {

        cout << "OK";

    }

    else

    {

        cout << "NG";

    }



}


// Faster C++ solution for the same problem (measured speedup: 5.281721045487744x):
#include <stdio.h>



int main (){

    

    int k,a,b;

    int flag = 0;

    scanf("%d", &k);

    scanf("%d %d", &a, &b);



    for(int i=a; i<=b; i++){

        if(i%k==0){

          flag = 1;  

        }

    }

    if(flag == 1){

        printf("OK\n");

    } else {

        printf("NG\n");

    }

        return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

using namespace std;



typedef long long ll;



#define optimize() ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);

#define file() freopen("input.txt","r",stdin);freopen("output.txt","w",stdout);

#define tt int t; cin>>t; while(t--)

#define nl cout<<"\n";

#define sp cout<<" ";

#define rep(i, a, b) for(long long i=a; i<b; i++)



const int INF = 1e9 + 7;

const int MOD = 1e9 + 7;

double PI = 4*atan(1);



int main()

{

    optimize();



    int n, a, b;



    cin>> n>> a>> b;



    for(int i=a; i<=b; i++)

    {

        if(i% n== 0)

        {

            cout<< "OK\n";

            return 0;

        }

    }



 cout<< "NG\n";



    return 0;

}






// Faster C++ solution for the same problem (measured speedup: 5.355356316085734x):
#include <stdio.h>



int main (){

    

    int k,a,b;

    int flag = 0;

    scanf("%d", &k);

    scanf("%d %d", &a, &b);



    for(int i=a; i<=b; i++){

        if(i%k==0){

          flag = 1;  

        }

    }

    if(flag == 1){

        printf("OK\n");

    } else {

        printf("NG\n");

    }

        return 0;

}
// Slower C++ solution:
#include <bits/stdc++.h> 

using namespace std;

#define int long long int

#define float double

#define pb push_back

#define FF first

#define SS second

#define N 201000

#define MOD 1000000007

#define fn(i,n) for(int i=0;i<n;i++)

#define rep(i,l,r) for(int i=l;i<=r;i++)

#define pii pair<int,int>

#define mp make_pair

#define INF 1000000000000000000

#define speed ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)





signed main() 

{

    speed;

    //freopen("input.txt","r",stdin);

    //freopen("output.txt","w",stdout);

    

    int k,a,b;

    cin>>k>>a>>b;

    if(a%k==0 || b%k==0) cout<<"OK";

    else if((a/k)==(b/k)) cout<<"NG";

    else cout<<"OK";

}

// Faster C++ solution for the same problem (measured speedup: 5.354617421959038x):
#include <stdio.h>



int main () {

	int k, a, b;

	int flag = 0;

	scanf("%d", &k);

	scanf("%d %d", &a, &b);

	for (int i = a ; i <= b ; i++) {

		if (i % k == 0) {

			flag = 1;

		}

	}

	if ( flag == 1) {

		printf("OK\n");

	}	else {

		printf("NG\n");

	}

	return 0;

}
// Slower C++ solution:
#include<bits/stdc++.h>

#define ll long long

#define ull unsigned long long

#define IO ios::sync_with_stdio(false), cin.tie(0)

#define endl '\n'

#define pi acos(-1.0)

#define ms(a, x) memset(a, x, sizeof(a))

#define lowbit(x) ((x)&(-(x)))

#define pb push_back

#define binarycount __builtin_popcount(x)

#define tr t[root]

#define lson t[root << 1]

#define rson t[root << 1 | 1]

#define debug(x) cout<<x<<'\n'

#define pii pair<ll,pair<ll,ll> >

using namespace std;

const int inf = 0x3f3f3f3f;

const ll INF=0x3f3f3f3f3f3f3f3f;

const ll mod = 1e9+7;

const double eps = 1e-8;

ll gcd(ll a, ll b) {return b==0?a:gcd(b, a%b);}

ll lcm(ll a, ll b) {return a/gcd(a, b)*b;}

ll powmod(ll a,ll b){

    ll ans = 1, pow = a;

    while(b) { if(b&1) ans = (ans*pow)%mod; pow = (pow*pow)%mod; b >>= 1; }

    return ans;

}

ll mul(ll a,ll b){//大数取模乘法防止溢出

    ll ans=0;

    a%=mod,b%=mod;

    while(b) { if(b&1) ans = (ans+a)%mod; a = (a*2)%mod; b >>= 1; }

    return ans;

}

//(b/a)%p=b*a^(p-2)%p

int pr(ll num){//判断素数

     if(num == 1) return 0;

     if(num ==2|| num==3 ) return 1 ;

     if(num %6!= 1&&num %6!= 5) return 0 ;

     int tmp =sqrt( num);

     for(int i= 5;i <=tmp; i+=6 )

          if(num %i== 0||num %(i+ 2)==0 )return 0 ;

     return 1 ;

}

int Day(int y,int m, int d){

    if(m==1||m==2) { m+=12; y--; }

    int w=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;

    return w+1;

}

inline int read() {

    int c = 0, f = 1;

    char ch = getchar();

    while (ch < '0' || ch > '9') {

        if (ch == '-') f = -1;

        ch = getchar();

    }

    while (ch >= '0' && ch <= '9') {

        c = c * 10 + ch - '0';

        ch = getchar();

    }

    return c * f;

}



//#pragma comment(linker, "/STACK:1024000000,1024000000")//外挂开栈

//stable_sort 排序不处理相同元素

//map<int,int>::reverse_iterator rit;

//for(rit=mp.rbegin();rit!=mp.rend();rit++)

//vec动态二维数组

//vector<vector<int>> g(26,vector<int>(100005));

//初始化vec里面套了n个vec



//lower_bound(begin,end,num) 有序数列中返回第一个>=num的数字的地址

//upper_bound( begin,end,num) 返回第一个>num的数字的地址



const int maxn=1e5+5;

int main(){

    int k;

    int a,b;

    cin>>k>>a>>b;

    for(int i=a;i<=b;++i){

        if(i%k==0){

            cout<<"OK"<<endl;

            return 0;

        }

    }

    cout<<"NG"<<endl;

    return 0;

}


// Faster C++ solution for the same problem (measured speedup: 5.274701805940081x):
#include <stdio.h>



int main () {

	int k, a, b;

	int flag = 0;

	scanf("%d", &k);

	scanf("%d %d", &a, &b);

	for (int i = a ; i <= b ; i++) {

		if (i % k == 0) {

			flag = 1;

		}

	}

	if ( flag == 1) {

		printf("OK\n");

	}	else {

		printf("NG\n");

	}

	return 0;

}