#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
const double eps = 1e-11;
const int INFINITE = 0x3f3f3f3f;
template <class T>
inline void checkmin(T &a, T b) {
  if (b < a) a = b;
}
template <class T>
inline void checkmax(T &a, T b) {
  if (b > a) a = b;
}
template <class T>
inline T sqr(T x) {
  return x * x;
}
template <class T>
inline T lowbit(T n) {
  return (n ^ (n - 1)) & n;
}
template <class T>
inline int countbit(T n) {
  return (n == 0) ? 0 : (1 + countbit(n & (n - 1)));
}
typedef vector<int> VI;
typedef vector<VI> VII;
typedef vector<string> VS;
int dx[4] = {1, 0, 0, -1};
int dy[4] = {0, 1, -1, 0};
bool isright(int x1, int y1, int x2, int y2, int x3, int y3) {
  int l12 = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
  int l23 = (x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3);
  int l31 = (x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1);
  if (l12 == 0 || l23 == 0 || l31 == 0) return false;
  return (l12 + l23 == l31 || l12 + l31 == l23 || l23 + l31 == l12);
}
int main() {
  ios::sync_with_stdio(false);
  int p[3][2];
  cin >> p[0][0] >> p[0][1] >> p[1][0] >> p[1][1] >> p[2][0] >> p[2][1];
  if (isright(p[0][0], p[0][1], p[1][0], p[1][1], p[2][0], p[2][1])) {
    cout << "RIGHT\n";
    return 0;
  }
  for (int n = (int)(0); n < (int)(3); n++)
    for (int i = (int)(0); i < (int)(4); i++) {
      p[n][0] += dx[i], p[n][1] += dy[i];
      if (isright(p[0][0], p[0][1], p[1][0], p[1][1], p[2][0], p[2][1])) {
        cout << "ALMOST\n";
        return 0;
      }
      p[n][0] -= dx[i], p[n][1] -= dy[i];
    }
  cout << "NEITHER\n";
  return 0;
}
