#include <bits/stdc++.h>
const int maxn = 1e6 + 10;
const int mod = 1e9 + 7;
using namespace std;
int vis[maxn];
struct wzy {
  int num;
  int id;
} p[maxn];
bool cmp(wzy u, wzy v) { return u.num > v.num; }
int a[maxn];
int main(int argc, char const *argv[]) {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n, m, k;
  cin >> n >> m >> k;
  memset(vis, 0, sizeof(vis));
  for (int i = 1; i <= n; i++) {
    cin >> p[i].num;
    p[i].id = i;
  }
  sort(p + 1, p + 1 + n, cmp);
  long long ans = 0;
  for (int i = 1; i <= m * k; i++) {
    ans += 1LL * p[i].num;
    vis[p[i].id] = 1;
  }
  cout << ans << endl;
  int flag = 0;
  int cnt = 0;
  for (int i = 1; i <= n; i++) {
    if (vis[i]) flag++;
    if (flag == m) {
      cnt++;
      cout << i << " ";
      flag = 0;
    }
    if (cnt == k - 1) break;
  }
  cout << endl;
  return 0;
}
