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 C++14 (GCC 5.4.1) (judge verdict: Accepted)

#include "iostream"
#include "climits"
#include "list"
#include "queue"
#include "stack"
#include "set"
#include "functional"
#include "algorithm"
#include "string"
#include "map"
#include "unordered_map"
#include "unordered_set"
#include "iomanip"
#include "cmath"
#include "random"
#include "bitset"
#include "cstdio"
#include "numeric"
#include "cassert"
#include "ctime"

using namespace std;
using ll = long long;
using P = pair<int, int>;
#define rep(i,n) for(int i = 0; i < n; i++)

int main() {
	string a, b;
	cin >> a >> b;
	int p = a.size();
	int q = b.size();
	if (p > q) cout << "GREATER" << endl;
	else if (p < q) cout << "LESS" << endl;
	else {
		string ans = "EQUAL";
		rep(i, p) {
			int nowa = a[i] - '0';
			int nowb = b[i] - '0';
			if (nowa > nowb) {
				ans = "GREATER";
				break;
			}
			else if (nowb > nowa) {
				ans = "LESS";
				break;
			}
		}
		cout << ans << endl;
	}
	return 0;
}