#include <bits/stdc++.h>
using namespace std;
template <typename T>
T getint() {
  T x = 0, p = 1;
  char ch;
  do {
    ch = getchar();
  } while (ch <= ' ');
  if (ch == '-') p = -1, ch = getchar();
  while (ch >= '0' && ch <= '9') x = x * 10 + ch - '0', ch = getchar();
  return x * p;
}
template <typename T1, typename T2>
bool umin(T1 &x, const T2 &y) {
  if (x > y) return x = y, true;
  return false;
}
template <typename T1, typename T2>
bool umax(T1 &x, const T2 &y) {
  if (x < y) return x = y, true;
  return false;
}
const int maxn = 5e3 + 10;
const int inf = (int)1e9 + 5;
const int mod = (int)1e9 + 7;
const long long llinf = (long long)1e18 + 5;
const long double pi = acos(-1.0);
int ha[maxn];
int hb[maxn];
int a[maxn];
int b[maxn];
int main() {
  int n, p, s;
  cin >> n >> p >> s;
  vector<pair<int, int> > z;
  set<pair<int, int> > x;
  for (int i = (1); i < (n + 1); i++) {
    cin >> a[i];
    z.push_back(make_pair(a[i], i));
  }
  for (int i = (1); i < (n + 1); i++) {
    cin >> b[i];
  }
  sort((z).begin(), (z).end());
  reverse((z).begin(), (z).end());
  for (int i = (0); i < (p); i++) {
    ha[z[i].second] = 1;
  }
  for (int _ = (1); _ < (s + 1); _++) {
    int sum = 0;
    for (int i = (1); i < (n + 1); i++) {
      if (ha[i]) sum += a[i];
      if (hb[i]) sum += b[i];
    }
    int idx = -1;
    for (int i = (1); i < (n + 1); i++)
      if (ha[i] == 0 && hb[i] == 0 && (idx == -1 || a[idx] < a[i])) idx = i;
    int best = -1;
    int nsum = -inf;
    bool need = 0;
    for (int j = (1); j < (n + 1); j++) {
      if (hb[j]) continue;
      int csum = sum;
      if (ha[j] == 0) {
        csum += b[j];
      } else {
        csum = sum - a[j] + b[j] + a[idx];
      }
      if (csum > nsum) {
        nsum = csum;
        best = j;
        need = (ha[j] == 0 ? 0 : 1);
      }
    }
    hb[best] = 1;
    ha[best] = 0;
    if (need) ha[idx] = 1, hb[idx] = 0;
  }
  int sum = 0;
  for (int i = (1); i < (n + 1); i++) {
    if (ha[i]) sum += a[i];
    if (hb[i]) sum += b[i];
  }
  cout << sum << endl;
  for (int i = (1); i < (n + 1); i++) {
    if (ha[i]) cout << i << ' ';
  }
  cout << endl;
  for (int i = (1); i < (n + 1); i++) {
    if (hb[i]) cout << i << ' ';
  }
  cout << endl;
  return 0;
}
