func_code_string: #include <bits/stdc++.h>   using namespace std;   template <class c>   struct rge {     c b, e;   };   template <class c>   rge<c> range(c i, c j) {     return rge<c>{i, j};   }   template <class c>   auto dud(c *x) -> decltype(cerr << *x, 0);   template <class c>   char dud(...);   struct deb {     template <class c>     deb &operator<<(const c &) {       return *this;     }   };   template <class T>   T &chmin(T &a, const T &b) {     return a = min(a, b);   }   template <class T>   T &chmax(T &a, const T &b) {     return a = max(a, b);   }   const long long dx[8] = {0, 1, -1, 0, 1, 1, -1, -1};   const long long dy[8] = {1, 0, 0, -1, 1, -1, -1, 1};   const long long mod = 1e9 + 7;   inline long long add(long long a, long long b) {     return ((a % mod) + (b % mod)) % mod;   }   inline long long sub(long long a, long long b) {     return ((a % mod) - (b % mod) + mod) % mod;   }   inline long long mul(long long a, long long b) {     return ((a % mod) * (b % mod)) % mod;   }   template <typename T>   istream &operator>>(istream &is, vector<T> &vec) {     for (auto &v : vec) is >> v;     return is;   }   const double PI = acos(-1.0);   const long long inf = 1e18;   const long long maxn = 1e3 + 5;   void solve() {     long long n;     cin >> n;     vector<long long> arr(2 * n);     cin >> arr;     cin >> arr;     sort(arr.begin(), arr.end());     long long s1 = 0;     long long s2 = 0;     for (long long i = 0; i < n; i++) s1 += arr[i];     for (long long i = n; i < 2 * n; i++) s2 += arr[i];     if (s1 != s2) {       for (long long i = 0; i < 2 * n; i++) {         cout << arr[i] <<    ;       }       cout <<   n ;     } else {       cout << -1 <<   n ;     }   }   signed main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     long long t = 1;     for (long long tt = 1; tt <= t; tt++) {       solve();     }   }   