func_code_string: #include <bits/stdc++.h>   using namespace std;   long long mult(long long a, long long b, long long p = 1000000007) {     long long ans = ((a % p) * (b % p)) % p;     return (ans + p) % p;   }   long long add(long long a, long long b, long long p = 1000000007) {     long long ans = (a % p + b % p) % p;     return (ans + p) % p;   }   long long fpow(long long n, long long k, long long p = 1000000007) {     long long r = 1;     for (; k; k >>= 1) {       if (k & 1) r = r * n % p;       n = n * n % p;     }     return r;   }   long long inv(long long a, long long p = 1000000007) {     return fpow(a, p - 2, p);   }   long long n, m, k;   int32_t main() {     ios::sync_with_stdio(0);     cin.tie(NULL);     cout.tie(NULL);     cin >> n >> m >> k;     vector<pair<long long, long long> > arr(n);     vector<long long> orig(n);     for (long long i = 0; i < n; i++) {       cin >> arr[i].first;       arr[i].second = i;       orig[i] = arr[i].first;     }     sort(arr.begin(), arr.end(), greater<pair<long long, long long> >());     vector<bool> has(n, 0);     long long s = 0;     for (long long i = 0; i < m * k; i++) {       s += arr[i].first;       has[arr[i].second] = 1;     }     cout << s << endl;     vector<long long> ans;     long long ov = 0;     for (long long i = 0; i < n;) {       long long cnt = 0, j = i;       while (cnt < m) {         if (has[j] == 1) {           cnt++;         }         j++;       }       ov++;       i = j;       if (ov == k) break;       cout << i <<    ;       ans.push_back(i);     }     cout << endl;     return 0;   }   