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 Go (1.6) (judge verdict: Accepted)

package main

import (
        "fmt"
)

func solution(a, b string) string {
        l := max(len(a), len(b))
        a = helper(a, l)
        b = helper(b, l)
        if a > b {
                return "GREATER"
        }

        if a == b {
                return "EQUAL"
        }
        return "LESS"
}

func max(x, y int) int {
        if x > y {
                return x
        }
        return y
}

func helper(s string, l int) string {
        sl := len(s)
        if sl < l {
                buf := make([]byte, 0, l)
                for i := 0; i < l; i++ {
                        if i < l-sl {
                                buf = append(buf, '0')
                        } else {
                                buf = append(buf, s[i-l+sl])
                        }
                }
                return string(buf)
        }
        return s
}

func main() {
        var a, b string
        fmt.Scan(&a, &b)
        fmt.Println(solution(a, b))
}