#include <bits/stdc++.h>
using namespace std;
struct node {
  int val;
  int id;
};
bool cmd(node a, node b) {
  if (a.val > b.val) return true;
  if (a.val < b.val) return false;
  return (a.id < b.id);
}
int main() {
  int n, m, k;
  cin >> n >> m >> k;
  vector<node> a(n);
  for (int i = 0; i < n; i++) {
    cin >> a[i].val;
    a[i].id = i;
  }
  sort(a.begin(), a.end(), cmd);
  vector<int> b;
  long long res = 0;
  for (int i = 0; i < k * m; i++) {
    res += a[i].val;
    b.push_back(a[i].id);
  }
  sort(b.begin(), b.end());
  cout << res << endl;
  vector<int> c;
  for (int i = m - 1; i < b.size(); i += m) {
    c.push_back(b[i] + 1);
  }
  for (int i = 0; i < k - 1; i++) cout << c[i] << ' ';
}
