Problem:
Score : 200 points

Problem Statement

You are given two positive integers A and B. Compare the magnitudes of these numbers.

Constraints

1 ≤ A, B ≤ 10^{100}

Neither A nor B begins with a 0.

Input

Input is given from Standard Input in the following format:

A
B

Output

Print GREATER if A>B, LESS if A<B and EQUAL if A=B.

Sample Input 1

36
24

Sample Output 1

GREATER

Since 36>24, print GREATER.

Sample Input 2

850
3777

Sample Output 2

LESS

Sample Input 3

9720246
22516266

Sample Output 3

LESS

Sample Input 4

123456789012345678901234567890
234567890123456789012345678901

Sample Output 4

LESS

Solution in Rust (1.42.0) (judge verdict: Accepted)

use std::cmp::Ordering;
use whiteread::parse_line;

fn main() {
    let a: String = parse_line().unwrap();
    let b: String = parse_line().unwrap();

    let ans = match a.len().cmp(&b.len()) {
        Ordering::Less => "LESS",
        Ordering::Greater => "GREATER",
        Ordering::Equal => {
            let mut a_iter = a.as_str().chars();
            let mut b_iter = b.as_str().chars();
            let mut ans = "EQUAL";
            for _ in 0..a.len() {
                match a_iter.next().unwrap().cmp(&b_iter.next().unwrap()) {
                    Ordering::Less => {
                        ans = "LESS";
                        break;
                    }
                    Ordering::Greater => {
                        ans = "GREATER";
                        break;
                    }
                    Ordering::Equal => continue,
                };
            }
            ans
        }
    };
    println!("{}", ans);
}