Language: C++

#include<iostream>
#include<string>
#include<cstdlib>
using namespace std;

int main()
{
  string a, b;
  cin >> a >> b;
  
  if (a.size() > b.size())
    cout << "GREATER";
  else if (a.size() < b.size())
    cout << "LESS";
  else
  {
    int s = a.size();
    bool flag = false;
    for (int i = 0; i < s; i ++)
    {
      if (atoi(a.at(i)) > atoi(b.at(i)))
      {
        cout << "GREATER";
        flag = true;
        break;
      }
      else if (atoi(a.at(i)) < atoi(b.at(i)))
      {
        cout << "LESS";
        flag = true;
        break;
      }
    }
    if (!flag) cout << "EQUAL";
  }
  
  return 0;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:21:20: error: invalid conversion from '__gnu_cxx::__alloc_traits<std::allocator<char>, char>::value_type' {aka 'char'} to 'const char*' [-fpermissive]
   21 |       if (atoi(a.at(i)) > atoi(b.at(i)))
      |                ~~~~^~~
      |                    |
      |                    __gnu_cxx::__alloc_traits<std::allocator<char>, char>::value_type {aka char}
In file included from /usr/include/c++/14/cstdlib:79,
                 from /usr/include/c++/14/ext/string_conversions.h:43,
                 from /usr/include/c++/14/bits/basic_string.h:4154,
                 from /usr/include/c++/14/string:54,
                 from /usr/include/c++/14/bits/locale_classes.h:40,
                 from /usr/include/c++/14/bits/ios_base.h:41,
                 from /usr/include/c++/14/ios:44,
                 from /usr/include/c++/14/ostream:40,
                 from /usr/include/c++/14/iostream:41,
                 from a.cc:1:
/usr/include/stdlib.h:105:30: note:   initializing argument 1 of 'int atoi(const char*)'
  105 | extern int atoi (const char *__nptr)
      |                  ~~~~~~~~~~~~^~~~~~
a.cc:21:36: error: invalid conversion from '__gnu_cxx::__alloc_traits<std::allocator<char>, char>::value_type' {aka 'char'} to 'const char*' [-fpermissive]
   21 |       if (atoi(a.at(i)) > atoi(b.at(i)))
      |                                ~~~~^~~
      |                                    |
      |                                    __gnu_cxx::__alloc_traits<std::allocator<char>, char>::value_type {aka char}
/usr/include/stdlib.h:105:30: note:   initializing argument 1 of 'int atoi(const char*)'
  105 | extern int atoi (const char *__nptr)
      |                  ~~~~~~~~~~~~^~~~~~
a.cc:27:25: error: invalid conversion from '__gnu_cxx::__alloc_traits<std::allocator<char>, char>::value_type' {aka 'char'} to 'const char*' [-fpermissive]
   27 |       else if (atoi(a.at(i)) < atoi(b.at(i)))
      |                     ~~~~^~~
      |                         |
      |                         __gnu_cxx::__alloc_traits<std::allocator<char>, char>::value_type {aka char}
/usr/include/stdlib.h:105:30: note:   initializing argument 1 of 'int atoi(const char*)'
  105 | extern int atoi (const char *__nptr)
      |                  ~~~~~~~~~~~~^~~~~~
a.cc:27:41: error: invalid conversion from '__gnu_cxx::__alloc_traits<std::allocator<char>, char>::value_type' {aka 'char'} to 'const char*' [-fpermissive]
   27 |       else if (atoi(a.at(i)) < atoi(b.at(i)))
      |                                     ~~~~^~~
      |                                         |
      |                                         __gnu_cxx::__alloc_traits<std::allocator<char>, char>::value_type {aka char}
/usr/include/stdlib.h:105:30: note:   initializing argument 1 of 'int atoi(const char*)'
  105 | extern int atoi (const char *__nptr)
      |                  ~~~~~~~~~~~~^~~~~~