#include <bits/stdc++.h>
using namespace std;
const double EPS = 1e-9;
priority_queue<int, vector<int>, greater<int>> q;
int main() {
  int n, m, k, i;
  scanf("%d", &n);
  scanf("%d", &m);
  scanf("%d", &k);
  int a[n], b[n];
  for (int i = 0; i < n; i++) {
    scanf("%d", &a[i]);
    b[i] = a[i];
  }
  sort(b, b + n);
  reverse(b, b + n);
  int no_of_ele = m * k;
  long long sum = 0;
  multiset<int> s;
  multiset<int>::iterator itr;
  for (int i = 0; i < no_of_ele; i++) {
    s.insert(b[i]);
    sum += b[i];
  }
  cout << sum << endl;
  int ptr = 1;
  i = 0;
  while (ptr < k) {
    int cur = 0;
    while (1) {
      itr = s.find(a[i++]);
      if (itr != s.end()) {
        s.erase(itr);
        cur++;
      }
      if (cur == m) {
        ptr++;
        cout << i << " ";
        break;
      }
    }
  }
  return 0;
}
