Problem:
Score: 100 points

Problem Statement

Takahashi the Jumbo will practice golf.

His objective is to get a carry distance that is a multiple of K, while he can only make a carry distance of between A and B (inclusive).

If he can achieve the objective, print OK; if he cannot, print NG.

Constraints

All values in input are integers.

1 \leq A \leq B \leq 1000

1 \leq K \leq 1000

Input

Input is given from Standard Input in the following format:

K
A B

Output

If he can achieve the objective, print OK; if he cannot, print NG.

Sample Input 1

7
500 600

Sample Output 1

OK

Among the multiples of 7, for example, 567 lies between 500 and 600.

Sample Input 2

4
5 7

Sample Output 2

NG

No multiple of 4 lies between 5 and 7.

Sample Input 3

1
11 11

Sample Output 3

OK

Solution in C++ (GCC 9.2.1) (judge verdict: Wrong Answer)

#include <iostream>

#define N_MAX 200005

using namespace std;

int N, M;
int dist = 1;
bool taken[N_MAX];
pair <int, int> ans[N_MAX];

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin >> N >> M;
    for(int i = 0, j = 0; i < N && j < M; i++) {
        if(!taken[i]) {
            taken[i] = true;
            while(taken[(i + dist) % N]) {
                dist++;
            }
            taken[(i + dist) % N] = true;
            ans[j] = make_pair(i, (i + dist) % N);
            dist++;
            //cout << i << "\n";
            j++;
        }
    }

    for(int i = 0; i < M; i++) {
        cout << ans[i].first + 1 << " " << ans[i].second + 1 << "\n";
    }
    return 0;
}