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)

use std::io;

fn main() {
	let mut buf = String::new();
	io::stdin().read_line(&mut buf).expect("error in K");
	let K: u32 = match buf.trim().parse()
	{
		Ok(num) => num,
		Err(_) => panic!("can't parse K"),
	};
	let mut buf = String::new();
	io::stdin().read_line(&mut buf).expect("error in A");
	
	let mut iter = buf.split_whitespace();
	
	let A:u32 = match iter.next().unwrap().parse()
	{
		Ok(num) => num,
		Err(_) => panic!("can't parse A"),
	};
	let B:u32 = match iter.next().unwrap().parse()
	{
		Ok(num) => num,
		Err(_) => panic!("can't parse B"),
	};
	let C = B - A + 1;
	let mut number = 0;
	while number != C{
		if (A + number)%K == 0 {
			println!("OK");
			break;
		}
		number = number + 1;
	}
	if A + number == B + 1 {
		println!("NG");
	}
	//println!("{}, {}, {}", K, A, B);
}