#include <bits/stdc++.h>
using namespace std;
const int MAX = 1000010;
typedef struct {
  int x, y;
} node;
node p[10];
int xx[4], yy[4], mark[10];
bool cmp(node a, node b) {
  if (a.x == b.x)
    return a.y < b.y;
  else
    return a.x < b.x;
}
int main() {
  memset(mark, 0, sizeof(mark));
  int x, y;
  int x1 = MAX, x3 = 0, y1 = MAX, y3 = 0, x2, y2;
  for (int i = 1; i <= 8; i++) {
    scanf("%d%d", &x, &y);
    p[i].x = x;
    p[i].y = y;
    if (x3 < x) x3 = x;
    if (x1 > x) x1 = x;
    if (y1 > y) y1 = y;
    if (y3 < y) y3 = y;
  }
  sort(p + 1, p + 9, cmp);
  for (int i = 1; i <= 8; i++) {
    if (y1 != p[i].y && y3 != p[i].y) y2 = p[i].y;
    if (x1 != p[i].x && x3 != p[i].x) x2 = p[i].x;
  }
  if (x1 == x2 || x2 == x3 || x3 == x1 || y1 == y2 || y2 == y3 || y3 == y1) {
    printf("ugly\n");
    return 0;
  }
  if (p[1].x == x1 && p[1].y == y1) mark[1] = true;
  if (p[2].x == x1 && p[2].y == y2) mark[2] = true;
  if (p[3].x == x1 && p[3].y == y3) mark[3] = true;
  if (p[4].x == x2 && p[4].y == y1) mark[4] = true;
  if (p[5].x == x2 && p[5].y == y3) mark[5] = true;
  if (p[6].x == x3 && p[6].y == y1) mark[6] = true;
  if (p[7].x == x3 && p[7].y == y2) mark[7] = true;
  if (p[8].x == x3 && p[8].y == y3) mark[8] = true;
  for (int i = 1; i <= 8; i++) {
    if (!mark[i]) {
      printf("ugly\n");
      return 0;
    }
  }
  printf("respectable\n");
  return 0;
}
