func_code_string: #include <bits/stdc++.h>   using namespace std;   int ax[4], ay[4], bx[4], by[4];   int xmin = 1000, xmax = -1000, ymin = 1000, ymax = -1000;   bool f() {     for (int i = 0; i < 4; i++) {       if (bx[i] >= xmin && bx[i] <= xmax && by[i] >= ymin && by[i] <= ymax) {         return 1;       }     }     double X = ((double)bx[0] + (double)bx[3]) / 2,            Y = ((double)by[0] + (double)by[3]) / 2;     if (X >= xmin && X <= xmax && Y >= ymin && Y <= ymax) {       return 1;     }     return 0;   }   void rotat() {     int X, Y;     xmin = ymin = 1000;     xmax = ymax = -1000;     for (int i = 0; i < 4; i++) {       X = ax[i] + ay[i];       Y = ax[i] - ay[i];       ax[i] = X;       ay[i] = Y;       X = bx[i] + by[i];       Y = bx[i] - by[i];       bx[i] = X;       by[i] = Y;       swap(ax[i], bx[i]);       swap(by[i], ay[i]);       xmin = min(xmin, ax[i]);       xmax = max(xmax, ax[i]);       ymin = min(ymin, ay[i]);       ymax = max(ymax, ay[i]);     }   }   int main() {     for (int i = 0; i < 4; i++) {       cin >> ax[i] >> ay[i];       xmin = min(xmin, ax[i]);       xmax = max(xmax, ax[i]);       ymin = min(ymin, ay[i]);       ymax = max(ymax, ay[i]);     }     for (int i = 0; i < 4; i++) {       cin >> bx[i] >> by[i];     }     if (f()) {       cout <<  Yes n ;       return 0;     }     rotat();     if (f()) {       cout <<  Yes n ;       return 0;     }     cout <<  No n ;     return 0;   }   