func_code_string: #include <bits/stdc++.h>   using namespace std;   struct point {     double x;     double y;   };   int compare(const void *a, const void *b) {     point *aa, *bb;     aa = (point *)a;     bb = (point *)b;     if (aa->x > bb->x)       return 1;     else if (aa->x < bb->x)       return -1;     else       return aa->y > bb->y;   }   int main(void) {     double y1, y2, y3, x1, x2, x3;     set<int> X, Y;     int status(0);     point points[8];     for (int i = 0; i < 8; i++) {       std::cin >> points[i].x >> points[i].y;       if (points[i].x < 0 || points[i].y < 0) status = -1;       X.insert(points[i].x);       Y.insert(points[i].y);     }     if (status == -1 || X.size() != 3 || Y.size() != 3) {       std::cout <<  ugly ;       return 0;     }     set<int>::iterator itx = X.begin();     set<int>::iterator ity = Y.begin();     y1 = *ity;     ity++;     y2 = *ity;     ity++;     y3 = *ity;     x1 = *itx;     itx++;     x2 = *itx;     itx++;     x3 = *itx;     if (!(y1 < y2 && y2 < y3 && x1 < x2 && x2 < x3)) {       std::cout <<  ugly ;       return 0;     }     qsort(points, 8, sizeof(point), compare);     if (x1 == points[0].x && x1 == points[1].x && x1 == points[2].x &&         x2 == points[3].x && x2 == points[4].x && x3 == points[5].x &&         x3 == points[6].x && x3 == points[7].x && y1 == points[0].y &&         y1 == points[3].y && y1 == points[5].y && y2 == points[1].y &&         y2 == points[6].y && y3 == points[2].y && y3 == points[4].y &&         y3 == points[7].y)       std::cout <<  respectable ;     else       std::cout <<  ugly ;   }   