stablegradients/pie-gem5-pairs huggingface dataset:
// 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.29353419919881x):
#include <stdio.h>

int main(){

	int kelipatan, batas1, batas2;

	scanf("%d %d %d", &kelipatan, &batas1, &batas2);

	int temp=(batas2/kelipatan);

	if (temp*kelipatan >=batas1){

		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.3712794218396915x):
#include <stdio.h>

int main(){

	int kelipatan, batas1, batas2;

	scanf("%d %d %d", &kelipatan, &batas1, &batas2);

	int temp=(batas2/kelipatan);

	if (temp*kelipatan >=batas1){

		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.24056452242175x):
#include <stdio.h>

int main(){

	int kelipatan, batas1, batas2;

	scanf("%d %d %d", &kelipatan, &batas1, &batas2);

	int temp=(batas2/kelipatan);

	if (temp*kelipatan >=batas1){

		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.29955281570618x):
#include <stdio.h>

int main(){

	int kelipatan, batas1, batas2;

	scanf("%d %d %d", &kelipatan, &batas1, &batas2);

	int temp=(batas2/kelipatan);

	if (temp*kelipatan >=batas1){

		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.309253192243121x):
#include <stdio.h>

int main(){

	int kelipatan, batas1, batas2;

	scanf("%d %d %d", &kelipatan, &batas1, &batas2);

	int temp=(batas2/kelipatan);

	if (temp*kelipatan >=batas1){

		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.31283823779235x):
#include <stdio.h>

int main(){

	int kelipatan, batas1, batas2;

	scanf("%d %d %d", &kelipatan, &batas1, &batas2);

	int temp=(batas2/kelipatan);

	if (temp*kelipatan >=batas1){

		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.372638818256638x):
#include <stdio.h>

int main(){

	int kelipatan, batas1, batas2;

	scanf("%d %d %d", &kelipatan, &batas1, &batas2);

	int temp=(batas2/kelipatan);

	if (temp*kelipatan >=batas1){

		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.3438073303338305x):
#include <stdio.h>

int main(){

	int kelipatan, batas1, batas2;

	scanf("%d %d %d", &kelipatan, &batas1, &batas2);

	int temp=(batas2/kelipatan);

	if (temp*kelipatan >=batas1){

		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.312393408410285x):
#include <stdio.h>

int main(){

	int kelipatan, batas1, batas2;

	scanf("%d %d %d", &kelipatan, &batas1, &batas2);

	int temp=(batas2/kelipatan);

	if (temp*kelipatan >=batas1){

		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.300734692408322x):
#include <stdio.h>

int main(){

	int kelipatan, batas1, batas2;

	scanf("%d %d %d", &kelipatan, &batas1, &batas2);

	int temp=(batas2/kelipatan);

	if (temp*kelipatan >=batas1){

		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.374635042328752x):
#include <stdio.h>

int main(){

	int kelipatan, batas1, batas2;

	scanf("%d %d %d", &kelipatan, &batas1, &batas2);

	int temp=(batas2/kelipatan);

	if (temp*kelipatan >=batas1){

		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.369711647091764x):
#include <stdio.h>

int main (){

	int A, B, K, angka=0;

scanf("%d", &K);

scanf("%d %d", &A, &B);//batas atas batas bawah  

		for (int i=A; i<=B;++i ){//cari tiap angka yang ada di antara batas

			if (i%K ==0){

				

				angka=1;

				break;

				}		

}

angka?printf("OK\n"):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.289570755538674x):
#include <stdio.h>

int main (){

	int A, B, K, angka=0;

scanf("%d", &K);

scanf("%d %d", &A, &B);//batas atas batas bawah  

		for (int i=A; i<=B;++i ){//cari tiap angka yang ada di antara batas

			if (i%K ==0){

				

				angka=1;

				break;

				}		

}

angka?printf("OK\n"):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.367257767766969x):
#include <stdio.h>

int main (){

	int A, B, K, angka=0;

scanf("%d", &K);

scanf("%d %d", &A, &B);//batas atas batas bawah  

		for (int i=A; i<=B;++i ){//cari tiap angka yang ada di antara batas

			if (i%K ==0){

				

				angka=1;

				break;

				}		

}

angka?printf("OK\n"):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.236640738905802x):
#include <stdio.h>

int main (){

	int A, B, K, angka=0;

scanf("%d", &K);

scanf("%d %d", &A, &B);//batas atas batas bawah  

		for (int i=A; i<=B;++i ){//cari tiap angka yang ada di antara batas

			if (i%K ==0){

				

				angka=1;

				break;

				}		

}

angka?printf("OK\n"):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.295584865709343x):
#include <stdio.h>

int main (){

	int A, B, K, angka=0;

scanf("%d", &K);

scanf("%d %d", &A, &B);//batas atas batas bawah  

		for (int i=A; i<=B;++i ){//cari tiap angka yang ada di antara batas

			if (i%K ==0){

				

				angka=1;

				break;

				}		

}

angka?printf("OK\n"):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.305277979254408x):
#include <stdio.h>

int main (){

	int A, B, K, angka=0;

scanf("%d", &K);

scanf("%d %d", &A, &B);//batas atas batas bawah  

		for (int i=A; i<=B;++i ){//cari tiap angka yang ada di antara batas

			if (i%K ==0){

				

				angka=1;

				break;

				}		

}

angka?printf("OK\n"):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.308860340561783x):
#include <stdio.h>

int main (){

	int A, B, K, angka=0;

scanf("%d", &K);

scanf("%d %d", &A, &B);//batas atas batas bawah  

		for (int i=A; i<=B;++i ){//cari tiap angka yang ada di antara batas

			if (i%K ==0){

				

				angka=1;

				break;

				}		

}

angka?printf("OK\n"):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.368616146358978x):
#include <stdio.h>

int main (){

	int A, B, K, angka=0;

scanf("%d", &K);

scanf("%d %d", &A, &B);//batas atas batas bawah  

		for (int i=A; i<=B;++i ){//cari tiap angka yang ada di antara batas

			if (i%K ==0){

				

				angka=1;

				break;

				}		

}

angka?printf("OK\n"):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.3398062455221735x):
#include <stdio.h>

int main (){

	int A, B, K, angka=0;

scanf("%d", &K);

scanf("%d %d", &A, &B);//batas atas batas bawah  

		for (int i=A; i<=B;++i ){//cari tiap angka yang ada di antara batas

			if (i%K ==0){

				

				angka=1;

				break;

				}		

}

angka?printf("OK\n"):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.308415844238149x):
#include <stdio.h>

int main (){

	int A, B, K, angka=0;

scanf("%d", &K);

scanf("%d %d", &A, &B);//batas atas batas bawah  

		for (int i=A; i<=B;++i ){//cari tiap angka yang ada di antara batas

			if (i%K ==0){

				

				angka=1;

				break;

				}		

}

angka?printf("OK\n"):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.296765857501415x):
#include <stdio.h>

int main (){

	int A, B, K, angka=0;

scanf("%d", &K);

scanf("%d %d", &A, &B);//batas atas batas bawah  

		for (int i=A; i<=B;++i ){//cari tiap angka yang ada di antara batas

			if (i%K ==0){

				

				angka=1;

				break;

				}		

}

angka?printf("OK\n"):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.370610875792284x):
#include <stdio.h>

int main (){

	int A, B, K, angka=0;

scanf("%d", &K);

scanf("%d %d", &A, &B);//batas atas batas bawah  

		for (int i=A; i<=B;++i ){//cari tiap angka yang ada di antara batas

			if (i%K ==0){

				

				angka=1;

				break;

				}		

}

angka?printf("OK\n"):printf("NG\n");		

	

	return 0;



		}