#include <bits/stdc++.h>
using namespace std;
int dx[] = {-1, 0, 1, 0};
int dy[] = {0, -1, 0, 1};
struct vec {
  int x, y;
  vec(int x1, int y1, int x2, int y2) {
    x = x1 - x2;
    y = y1 - y2;
  }
  bool operator==(const vec &v) const { return v.x * x + v.y * y == 0; }
  bool ok() {
    if (x == 0 && y == 0) {
      return false;
    }
    return true;
  }
};
bool ju(int x1, int y1, int x2, int y2, int x3, int y3) {
  double d1 = sqrt(1.0 * (x1 - x2) * (x1 - x2) + 1.0 * (y1 - y2) * (y1 - y2));
  double d2 = sqrt(1.0 * (x3 - x2) * (x3 - x2) + 1.0 * (y3 - y2) * (y3 - y2));
  double d3 = sqrt(1.0 * (x3 - x1) * (x3 - x1) + 1.0 * (y3 - y1) * (y3 - y1));
  if (d1 + d2 <= d3 || d1 + d3 <= d2 || d2 + d3 <= d1) {
    return false;
  }
  return true;
}
bool check(int x1, int y1, int x2, int y2, int x3, int y3) {
  struct vec v1(x1, y1, x2, y2);
  struct vec v2(x2, y2, x3, y3);
  struct vec v3(x3, y3, x1, y1);
  if (!v1.ok() || !v2.ok() || !v3.ok()) {
    return false;
  }
  if (v1 == v2 || v1 == v3 || v2 == v3) {
    return true;
  }
  return false;
}
int main() {
  int x1, y1, x2, y2, x3, y3;
  scanf("%d%d%d%d%d%d", &x1, &y1, &x2, &y2, &x3, &y3);
  if (check(x1, y1, x2, y2, x3, y3)) {
    printf("RIGHT\n");
  } else {
    int f = 0;
    for (int i = 0; i < 4; i++) {
      if (check(x1 + dx[i], y1 + dy[i], x2, y2, x3, y3)) {
        f = 1;
        break;
      }
      if (check(x1, y1, x2 + dx[i], y2 + dy[i], x3, y3)) {
        f = 1;
        break;
      }
      if (check(x1, y1, x2, y2, x3 + dx[i], y3 + dy[i])) {
        f = 1;
        break;
      }
    }
    if (f) {
      printf("ALMOST\n");
    } else {
      printf("NEITHER\n");
    }
  }
  return 0;
}
