#include <bits/stdc++.h>
using namespace std;
int a[2000001], b[2000001], dd[2000001], c[2000001];
int m, k, n, s;
int N = 0;
bool ok;
int main() {
  int d;
  scanf("%d %d %d %d", &m, &k, &n, &s);
  for (int i = 1; i <= m; i++) scanf("%d", &a[i]);
  for (int i = 1; i <= s; i++) {
    scanf("%d", &d);
    b[d]++;
    if (b[d] == 1) ++N;
  }
  int l = 1, cur = 0;
  int r = 1;
  for (;;) {
    while (l <= m && cur < N) {
      c[a[l]]++;
      if (c[a[l]] == b[a[l]]) ++cur;
      ++l;
    }
    if (l == m + 1 && cur < N) break;
    while (r <= m) {
      if (c[a[r]] == b[a[r]]) break;
      c[a[r]]--;
      ++r;
    }
    int sz = l - r;
    int cut1 = sz <= k ? 0 : sz - k;
    int cut = (r - 1) % k;
    int tmp = max(k - sz, 0);
    cut = max(cut - tmp, 0);
    if (l - 1 <= k) {
      printf("0\n");
      ok = true;
      break;
    }
    if (cut + cut1 <= m - n * k) {
      ok = true;
      printf("%d\n", cut + cut1);
      for (int i = 1; i <= cut; i++) printf("%d ", i);
      for (int i = r; i < l; i++) dd[a[i]] = 0;
      cut = cut1;
      for (int i = r; i < l; i++) {
        dd[a[i]]++;
        if (dd[a[i]] > b[a[i]]) {
          if (cut) {
            printf("%d ", i);
            --cut;
          }
        }
      }
      break;
    }
    c[a[r]]--;
    --cur;
    ++r;
  }
  if (ok == false) printf("-1\n");
  return 0;
}
