#include <bits/stdc++.h>
using namespace std;
long long m, k, n, s;
long long ar[500005], br[500005];
long long need[500005];
long long cur[500005], diff;
int main() {
  cin >> m >> k >> n >> s;
  for (int i = 1; i < m + 1; i++) cin >> ar[i];
  for (int i = 0; i < s; i++) {
    long long x;
    cin >> x;
    need[x]++;
  }
  for (int i = 0; i < 500005; i++) {
    if (need[i]) diff++;
  }
  long long l = 1, r = 0;
  while (l <= m) {
    while (diff && r < m) {
      r++;
      long long ele = ar[r];
      cur[ele]++;
      if (need[ele] && cur[ele] == need[ele]) diff--;
    }
    if ((l - 1) % k == 0 && !diff && 1 + (l - 1) / k + (m - r) / k >= n) {
      long long tot = r - l + 1 - k;
      if (tot < 0) {
        printf("0");
        return 0;
      } else {
        printf("%lld\n", tot);
        for (int i = l; i < r + 1; i++) {
          long long ele = ar[i];
          if (cur[ele] > need[ele] && tot) {
            tot--;
            cur[ele]--;
            printf("%d ", i);
          }
        }
        return 0;
      }
    }
    long long ele = ar[l];
    cur[ele]--;
    if (need[ele] && cur[ele] == need[ele] - 1) diff++;
    l++;
  }
  printf("-1");
  return 0;
}
