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 <bits/stdc++.h>
using namespace std;

int main() {
  long long int A,B,N;
  cin >> A >> B >> N;
  long long int a,aa;
  a=A/B;
  aa=A%B;

  long long int result1,result2;
  result1 = (A*N)/B;
 if(N+1>B){
    vector <long long int> t(N-B+1);
    for (long long int i=0; i<N-B+1; i++){
      long long  int tmp1,tmp2;
      tmp1 = (B+i)/B;
      tmp2 = (B+i)%B;
      t.at(i)=a* (tmp2-tmp1)*B + a*tmp2 + (aa*tmp2)/B*B;
      //cout << i << ":" << t.at (i)<< endl;
    }

    sort(t.begin(), t.end());
    result2 = t.at(N-B);
  }
  cout << (result1 > result2 ? result1:result2)  << endl;

}