func_code_string: #include <bits/stdc++.h>   using namespace std;   struct Item {     int x[3], y[3];   };   bool check(Item t);   inline int Dist(int x1, int y1, int x2, int y2) {     return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);   }   int main() {     Item it;     for (int i = 0; i < 3; i++) cin >> it.x[i] >> it.y[i];     if (check(it))       cout <<  RIGHT n ;     else {       bool f = false;       for (int i = 0; i < 3; i++) {         Item tmp = it;         tmp.x[i]--;         if (check(tmp)) {           f = true;           break;         }         tmp.x[i] += 2;         if (check(tmp)) {           f = true;           break;         }       }       for (int i = 0; i < 3; i++) {         Item tmp = it;         tmp.y[i]--;         if (check(tmp)) {           f = true;           break;         }         tmp.y[i] += 2;         if (check(tmp)) {           f = true;           break;         }       }       if (f == true)         cout <<  ALMOST n ;       else         cout <<  NEITHER n ;     }     return 0;   }   bool check(Item t) {     int d[3];     int xx[3], yy[3];     d[0] = Dist(t.x[0], t.y[0], t.x[1], t.y[1]);     d[1] = Dist(t.x[0], t.y[0], t.x[2], t.y[2]);     d[2] = Dist(t.x[1], t.y[1], t.x[2], t.y[3]);     if (!d[0] || !d[1] || !d[2]) return false;     if (d[0] + d[1] == d[2] || d[1] + d[2] == d[0] || d[0] + d[2] == d[1])       return false;     xx[0] = t.x[0] - t.x[1];     yy[0] = t.y[0] - t.y[1];     xx[1] = t.x[0] - t.x[2];     yy[1] = t.y[0] - t.y[2];     xx[2] = t.x[1] - t.x[2];     yy[2] = t.y[1] - t.y[2];     if (xx[0] * xx[1] + yy[0] * yy[1] == 0 ||         xx[0] * xx[2] + yy[0] * yy[2] == 0 || xx[1] * xx[2] + yy[1] * yy[2] == 0)       return true;     else       return false;   }   