#include <bits/stdc++.h>
using namespace std;
long long int n, m, k, arr[200005], ans, sol[200005];
struct node {
  long long int where;
  long long int num;
} arr2[200005];
bool cmp(node a, node b) { return a.num > b.num; }
int main() {
  scanf("%I64d%I64d%I64d", &n, &m, &k);
  for (int i = 1; i <= n; i++) {
    scanf("%I64d", &arr[i]);
    arr2[i].num = arr[i];
    arr2[i].where = i;
  }
  sort(arr2 + 1, arr2 + 1 + n, cmp);
  for (int i = 1; i <= m * k; i++) {
    ans += arr2[i].num;
    sol[i] = arr2[i].where;
  }
  sort(sol + 1, sol + 1 + m * k);
  printf("%I64d\n", ans);
  for (int i = m; i <= m * k - m; i += m) {
    printf("%I64d ", sol[i]);
  }
  return 0;
}
