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 Rust (1.42.0) (judge verdict: Accepted)

fn get_line() -> String {
    let mut line = String::new();
    std::io::stdin().read_line(&mut line).unwrap();
    line.trim().to_string()
}

fn main() {
    let k = get_line().parse::<i64>().unwrap();
    let (a, b) = {
        let ab = get_line()
            .split_whitespace()
            .map(|e| e.parse().unwrap())
            .collect::<Vec<i64>>();
        (ab[0], ab[1])
    };

    let i = a / k;
    
    if a % k == 0 {
        println!("OK");
    } else if b % k == 0 {
        println!("OK");
    } else {
        if a <= k * (i + 1) && k * (i + 1) <= b {
            println!("OK");
        } else {
            println!("NG");
        }
    }
}