#include <bits/stdc++.h>
using namespace std;
const int maxn = 500001;
int a[maxn];
int cnt[maxn], cur[maxn];
int rem;
int c[maxn];
int d;
int m, k, n, s;
int main() {
  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++) {
    int x;
    scanf("%d", &x);
    cnt[x]++;
  }
  for (int i = 1; i < maxn; i++) {
    if (cnt[i] > cur[i]) rem++;
  }
  int pos = 0;
  for (int i = 1; i <= m; i++) {
    while (pos < m && rem) {
      cur[a[++pos]]++;
      if (cnt[a[pos]] == cur[a[pos]]) rem--;
    }
    if (!rem) {
      int cost = max(pos - i + 1 - k, 0) + (i - 1) % k;
      if (cost <= m - n * k) {
        printf("%d\n", cost);
        for (int j = 1; j <= (i - 1) % k; j++) {
          printf("%d ", j);
        }
        int del = max(pos - i + 1 - k, 0);
        for (int j = i; j <= pos; j++) {
          if (!del) break;
          if (!cnt[a[j]])
            del--, printf("%d ", j);
          else
            cnt[a[j]]--;
        }
        return 0;
      }
    }
    if (cur[a[i]]-- == cnt[a[i]]) rem++;
  }
  printf("-1");
  return 0;
}
