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: Wrong Answer)

use std::io::{stdin, Read};
use std::str::FromStr;

fn read<T: FromStr>() -> Option<T> {
    let stdin = stdin();
    let s = stdin
        .bytes()
        .map(|c| c.unwrap() as char)
        .skip_while(|c| c.is_whitespace())
        .take_while(|c| !c.is_whitespace())
        .collect::<String>();
    s.parse::<T>().ok()
}

fn main() {
    let a: String = read().unwrap();
    let b: String = read().unwrap();
    let achars = (&a).as_bytes();
    let bchars = (&b).as_bytes();
    let c: i64 = (a.len() as i64) - (b.len() as i64);
    if 0 < c {
        println!("GREATER");
        return;
    } else if c < 0 {
        println!("LESS");
        return;
    }
    if c == 0 {
        for i in 0..(a.len()) {
            let ac = achars[i];
            let bc = bchars[i];
            if bc < ac {
                println!("GREATER");
                return;
            } else if ac < bc {
                println!("LESS");
                return;
            } else {
            }
        }
        println!("EQ");

    }
}