#include <bits/stdc++.h>
using namespace std;
const int N = 1000005;
const int M = 10000050;
int n, m, k;
int s[M], a[N], id[N];
int ans[N], sum;
bool comp(int x, int y) { return a[x] < a[y]; }
int main() {
  scanf("%d%d%d", &n, &m, &k);
  for (int i = 1; i <= n; ++i) {
    int x;
    scanf("%d", &x);
    s[x]++;
  }
  for (int i = 10000000; i >= 1; --i)
    if (s[i] > k) s[i - 1] += s[i] - k, s[i] = k;
  if (s[0] > k) {
    printf("-1\n");
    return 0;
  }
  for (int i = 1; i <= m; ++i) scanf("%d", &a[i]), id[i] = i;
  sort(id + 1, id + m + 1, comp);
  int down = 0;
  for (int i = 1; i <= m; ++i) {
    for (; s[down] == k; down++)
      ;
    if (a[id[i]] >= down) s[down]++, ans[++sum] = id[i];
  }
  printf("%d\n", sum);
  for (int i = 1; i <= sum; ++i) printf("%d ", ans[i]);
  return 0;
}
