func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     int n, a[100001], i;     set<int> mysetp, mysetn, left, right;     set<int>::iterator l, r, p;     scanf( %d , &n);     scanf( %d , &a[1]);     mysetn.insert(-a[1]);     mysetp.insert(a[1]);     for (i = 2; i <= n; i++) {       scanf( %d , &a[i]);       l = mysetn.lower_bound(-a[i]);       r = mysetp.lower_bound(a[i]);       if (*l > 0 || -(*l) > a[i]) {         left.insert(*r);         printf( %d n , *r);       } else if (*r < a[i]) {         printf( %d n , -(*l));       } else if (-(*l) == *r) {         if (*r > a[i]) left.insert(*r);         printf( %d n , *r);       } else {         p = left.lower_bound(*r);         if (*p == *r) {           printf( %d n , -(*l));         } else {           left.insert(*r);           printf( %d n , *r);         }       }       mysetp.insert(a[i]);       mysetn.insert(-a[i]);     }     return 0;   }   