func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long int mod = 1e9 + 7;   const long long int MOD = 1e18 + 7;   long long int modPow(long long int a, long long int b) {     long long int res = 1;     a %= mod;     for (; b; b >>= 1) {       if (b & 1) res = res * a % mod;       a = a * a % mod;     }     return res;   }   long long int MODPow(long long int a, long long int b) {     long long int res = 1;     a %= MOD;     for (; b; b >>= 1) {       if (b & 1) res = res * a % MOD;       a = a * a % MOD;     }     return res;   }   long long int nCr(long long int n, long long int k) {     long long int res = 1;     if (k > n - k) k = n - k;     for (long long int i = 0; i < k; ++i) {       res = (res * (n - i)) % mod;       res = (res * modPow(i + 1, mod - 2)) % mod;     }     return res;   }   void Sieve(long long int n) {     bool prime[n + 1];     memset(prime, true, sizeof(prime));     for (long long int p = 2; p * p <= n; p++)       if (prime[p] == true)         for (long long int i = p * 2; i <= n; i += p) prime[i] = false;   }   int main() {     int n, m, k;     cin >> n >> m >> k;     int a[n], b[n];     for (int i = 0; i < n; i++) cin >> a[i], b[i] = a[i];     sort(b, b + n, greater<int>());     map<int, int> mp;     for (int i = 0; i < m * k; i++) mp[b[i]]++;     long long int total = 0, sum = 0;     for (int i = 0; i < m * k; i++) total += b[i];     cout << total <<   n ;     int c = 0;     std::vector<int> v;     for (int i = 0; i < n; i++) {       if (mp[a[i]] > 0) c++, mp[a[i]]--;       if (c == m) v.push_back(i + 1), c = 0;     }     for (int i = 0; i < k - 1; i++) cout << v[i] <<    ;   }   