#include <bits/stdc++.h>
using namespace std;
pair<int, int> g[12000000];
int d[12000000], q[12000000];
int i, k, l, m, n, p, t;
int main() {
  scanf("%d%d%d", &m, &n, &k);
  for (i = 1; i <= m; i++) {
    scanf("%d", &t), d[t]++;
    if (d[t] > k) return puts("-1"), 0;
  }
  for (i = 1; i <= n; i++) scanf("%d", &t), g[i] = make_pair(t, i);
  sort(g + 1, g + n + 1);
  for (i = 1, l = 0; i <= n; i++) {
    for (; d[l] == k; l++)
      ;
    if (l > g[i].first)
      continue;
    else
      p++, q[p] = g[i].second, d[l]++;
  }
  printf("%d\n", p);
  for (i = 1; i <= p; i++) printf("%d ", q[i]);
  return 0;
}
