#include <bits/stdc++.h>
using namespace std;
struct node {
  int x, y;
} e[10];
int dis[10], cnt;
inline int dist(int x1, int y1, int x2, int y2) {
  return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
}
inline bool cmp(int x, int y) { return x < y; }
inline bool check() {
  memset(dis, 0x3f, sizeof(dis));
  cnt = 0;
  for (register int i = 1; i <= 3; i++)
    for (register int j = i; j <= 3; j++)
      if (i != j && e[i].x == e[j].x && e[i].y == e[j].y) return false;
  for (register int i = 1; i <= 3; i++)
    for (register int j = i; j <= 3; j++)
      if (i != j) dis[++cnt] = dist(e[i].x, e[i].y, e[j].x, e[j].y);
  sort(dis + 1, dis + 4, cmp);
  if ((dis[1] + dis[2]) == dis[3]) return true;
  return false;
}
int main() {
  for (register int i = 1; i <= 3; i++) scanf("%d %d", &e[i].x, &e[i].y);
  if (check()) {
    puts("RIGHT");
    return 0;
  }
  for (register int i = 1; i <= 3; i++) {
    e[i].x++;
    if (check()) {
      puts("ALMOST");
      return 0;
    }
    e[i].x--;
    e[i].x--;
    if (check()) {
      puts("ALMOST");
      return 0;
    }
    e[i].x++;
    e[i].y++;
    if (check()) {
      puts("ALMOST");
      return 0;
    }
    e[i].y--;
    e[i].y--;
    if (check()) {
      puts("ALMOST");
      return 0;
    }
    e[i].y++;
  }
  puts("NEITHER");
  return 0;
}
