func_code_string: #include <bits/stdc++.h>   using namespace std;   #pragma GCC optimize( Ofast )   void print(vector<long long> vvv) {     for (auto it : vvv) cout << it <<    ;     cout <<   n ;   }   long long mod = 1e9 + 7;   long long qpow(long long base, long long p) {     if (p == 0) return 1;     if (p == 1) return base % mod;     long long r = qpow(base, p / 2);     if (p % 2 == 0) return (r * r) % mod;     return (((r * r) % mod) * base) % mod;   }   long long inv(long long a, long long b) {     return (((a) % mod) * qpow(b, mod - 2)) % mod;   }   long long mand(pair<long long, long long> a, pair<long long, long long> b) {     return abs(a.first - b.first) + abs(a.second - b.second);   }   char invc(char a, char b, char c) {     if (a == b) return c;     return b;   }   int32_t main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.setf(ios::fixed);     cout.precision(0);     long long n;     cin >> n;     vector<long long> v, ans;     vector<pair<long long, long long> > v2;     for (long long i = 0; i < n; i++) {       long long x;       cin >> x;       ans.push_back(0);       v2.push_back({x, i});     }     sort(v2.begin(), v2.end());     for (long long i = 0; i < n; i++) {       if (i != n - 1) {         ans[v2[i].second] = v2[i + 1].first;       } else {         ans[v2[i].second] = v2[0].first;       }     }     print(ans);     return 0;   }   