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.15.1) (judge verdict: Accepted)

use std::io;


fn main() {
    let a = read_one::<String>().chars().collect::<Vec<char>>();
    let b = read_one::<String>().chars().collect::<Vec<char>>();

    let mut flg = "EQUAL";
    if a.len() > b.len() { flg = "GREATER"; }
    else if b.len() > a.len() { flg = "LESS"; }
    else {
        for i in 0..a.len() {
            if a[i] > b[i] { flg = "GREATER"; break; }
            else if a[i] < b[i] { flg = "LESS"; break; }
        }
    }
    println!("{}", flg);
}



#[allow(dead_code)]
fn read<T>() -> Vec<T>
where T:
    std::str::FromStr,
    T::Err: std::fmt::Debug {

    let mut buf = String::new();
    io::stdin().read_line(&mut buf).unwrap();
    buf.split_whitespace()
        .map(|s| s.trim().parse().unwrap())
        .collect()
}

#[allow(dead_code)]
fn read_one<T>() -> T
where T:
    std::str::FromStr,
    T::Err: std::fmt::Debug {

    let mut buf = String::new();
    io::stdin().read_line(&mut buf).unwrap();
    buf.trim().parse().unwrap()
}