func_code_string: #include <bits/stdc++.h>   using namespace std;   int read() {     register int x = 0, f = 1;     char ch = getchar();     while (ch <  0  || ch >  9 ) {       if (ch ==  - ) f = -1;       ch = getchar();     }     while (ch >=  0  && ch <=  9 ) {       x = 10 * x + ch -  0 ;       ch = getchar();     }     return x * f;   }   const int Size = 100005;   int n, top;   struct vec {     double x, y;   } w[Size], a[Size], O, stk[Size];   inline vec operator-(vec a, vec b) { return (vec){a.x - b.x, a.y - b.y}; }   inline vec operator+(vec a, vec b) { return (vec){a.x + b.x, a.y + b.y}; }   inline bool operator<(vec a, vec b) {     if (a.x != b.x) return a.x < b.x;     return a.y < b.y;   }   inline double Xji(vec p, vec q) { return p.x * q.y - p.y * q.x; }   inline double dist(vec mhy) { return mhy.x * mhy.x + mhy.y * mhy.y; }   inline bool comp(vec jzm, vec xjp) {     double tmp = Xji(jzm, xjp);     if (fabs(tmp) > 1e-6) return tmp > 1e-6;     return dist(jzm) < dist(xjp);   }   inline double dist(vec mhy, vec zwt) {     return sqrt((mhy.x - zwt.x) * (mhy.x - zwt.x) +                 (mhy.y - zwt.y) * (mhy.y - zwt.y));   }   inline vec rotate(vec a, double rad) {     return (vec){a.x * cos(rad) - a.y * sin(rad),                  a.x * sin(rad) + a.y * cos(rad)};   }   int main() {     n = read();     for (register int i = 1; i <= n; i++) {       double x, y;       scanf( %lf %lf , &x, &y);       w[i].x = x;       w[i].y = y - x * x;     }     vec O = w[1];     int id = 1;     for (register int i = 2; i <= n; i++) {       if (w[i] < O) {         id = i;         O = w[i];       }     }     swap(w[id], w[1]);     for (register int i = 1; i <= n; i++) {       a[i] = w[i] - O;     }     sort(a + 2, a + 1 + n, comp);     for (register int i = 1; i <= n; i++) {       while (top > 1 && Xji(stk[top] - stk[top - 1], a[i] - stk[top - 1]) <= 0) {         top--;       }       stk[++top] = a[i];     }     for (register int i = 1; i <= top; i++) {       stk[i] = stk[i] + O;     }     int ans = 0;     for (register int i = 1; i <= top; i++) {       int pos = i % top + 1;       if (stk[i].x > stk[pos].x) {         ans++;       }     }     printf( %d , ans);     return 0;   }   