#include <bits/stdc++.h>
typedef struct {
  int x, y;
} Pt;
Pt v[3];
Pt a, b;
int dotProd() { return a.x * b.x + a.y * b.y; }
void makeVec(int i) {
  a.x = v[i].x - v[(i + 1) % 3].x;
  a.y = v[i].y - v[(i + 1) % 3].y;
  b.x = v[(i + 2) % 3].x - v[(i + 1) % 3].x;
  b.y = v[(i + 2) % 3].y - v[(i + 1) % 3].y;
}
int valid() { return (a.x * a.x + a.y * a.y) * (b.x * b.x + b.y * b.y); }
int d[4][2] = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}};
int main() {
  for (int i = 0; i < 3; i++) scanf("%d %d", &v[i].x, &v[i].y);
  for (int i = 0; i < 3; i++) {
    makeVec(i);
    if (!dotProd()) {
      printf("RIGHT\n");
      return 0;
    }
  }
  for (int k = 0; k < 3; k++) {
    for (int j = 0; j < 4; j++) {
      v[k].x += d[j][0];
      v[k].y += d[j][1];
      for (int i = 0; i < 3; i++) {
        makeVec(i);
        if (!valid()) continue;
        if (!dotProd()) {
          printf("ALMOST\n");
          return 0;
        }
      }
      v[k].x -= d[j][0];
      v[k].y -= d[j][1];
    }
  }
  printf("NEITHER\n");
  return 0;
}
