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 Haskell (GHC 7.10.3) (judge verdict: Wrong Answer)

import Control.Applicative
import Control.Monad
import Data.List
import Data.Char
strToInt s = (read :: String -> Int) s
strToInteger s = (read :: String -> Integer) s
strToDouble s = (read :: String -> Double) s

main :: IO ()
main = do
    -- kaigyousuuretu
    cs <- replicateM 2 getLine
    let fs = init $ cs!!0
        sn = cs!!1
    if (length fs) == (length sn)
        then putStrLn $ solve fs sn
        else case compare (length fs) (length sn) of
            LT -> putStrLn "LESS"
            EQ -> putStrLn "EQUAL"
            GT -> putStrLn "GREATER"

solve :: String -> String -> String
solve [] [] = "EQUAL"
solve [] _ = "LESS"
solve _ [] = "GREATER"
solve (f:fs) (s:sn) = case compare f s of
    GT -> "GREATER"
    LT -> "LESS"
    EQ -> solve fs sn