func_code_string: #include <bits/stdc++.h>   using namespace std;   template <typename T>   void print1d(vector<T> &a) {     for (long long int i = 0; i < a.size(); i++) {       cout << a[i] <<    ;     }     cout << endl;   }   vector<long long int> divisor(long long int n) {     vector<long long int> a;     for (long long int i = 1; i * i <= n; i++) {       if (n % i == 0) {         if (n / i == i)           a.push_back(i);         else {           a.push_back(i);           a.push_back(n / i);         }       }     }     return a;   }   bool sortsecond(const pair<long long int, long long int> &a,                   const pair<long long int, long long int> &b) {     return a.second < b.second;   }   bool isPrime(long long int n) {     for (long long int i = 2; i * i <= n; i++) {       if (n % i == 0) return false;     }     return true;   }   vector<string> split_string(const string &s, const string &delimiter) {     vector<string> token;     string ans;     size_t end_point, start_point = 0, delim_length = delimiter.length();     while ((end_point = s.find(delimiter, start_point)) != string::npos) {       ans = s.substr(start_point, end_point - start_point);       start_point = end_point + delim_length;       token.push_back(ans);     }     token.push_back(s.substr(start_point));     return token;   }   bool is_vowel(const char &a) {     switch (a) {       case  a :       case  e :       case  i :       case  o :       case  u :       case  y :       case  A :       case  E :       case  I :       case  O :       case  U :         return true;         break;       default:         return false;         break;     }   }   void solve() {     string delimiter =  , ;     string s;     cin >> s;     vector<string> e = split_string(s, delimiter);     vector<long long int> a(e.size(), 0);     for (long long int i = 0; i < e.size(); i++) {       a[i] = stoi(e[i]);     }     sort(a.begin(), a.end());     auto it = std::unique(a.begin(), a.end());     a.resize(std::distance(a.begin(), it));     long long int c = a[0], k = a[0] + 1;     for (long long int i = 1; i < a.size(); i++) {       if (a[i] == k)         k++;       else {         if (c + 1 == k)           cout << c <<  , ;         else           cout << c <<  -  << k - 1 <<  , ;         c = a[i];         k = a[i] + 1;       }     }     if (c + 1 == k)       cout << c << endl;     else       cout << c <<  -  << k - 1 << endl;   }   int32_t main() {     ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);     ;     solve();     return 0;   }   