func_code_string: #include <bits/stdc++.h>   using namespace std;   vector<pair<int, int> > p, pt;   int n, m;   void getanswer(int l, int r) {     if (l >= r) return;     getanswer(l, (l + r) / 2);     getanswer(1 + ((l + r) / 2), r);     for (int i = int(l); i <= int(r); ++i) {       m++;       pt.push_back(make_pair(p[(l + r) / 2].first, p[i].second));     }   }   int main() {     scanf( %I32d , &n);     p.resize(n);     pt.resize(n);     for (int i = 0; i < int(n); i++)       scanf( %I32d%I32d , &p[i].first, &p[i].second);     stable_sort(p.begin(), p.end());     for (int i = 0; i < int(n); i++) pt[i] = p[i];     m = n;     getanswer(0, n - 1);     stable_sort(pt.begin(), pt.end());     p.clear();     for (int i = 0; i < int(m); i++)       if ((i == 0) || (pt[i] != pt[i - 1])) p.push_back(pt[i]);     printf( %I32d n , (int)p.size());     for (int i = 0; i < int(p.size()); i++)       printf( %I32d %I32d n , p[i].first, p[i].second);     return 0;   }   