#include <bits/stdc++.h>
using namespace std;
int m, k, n, s, i, x, a[1000000], bz[1000000], l, r, ans, p, bzk[1000000], sum;
int main() {
  scanf("%d%d%d%d", &m, &k, &n, &s);
  for (i = 1; i <= m; i++) scanf("%d", &a[i]);
  for (i = 1; i <= s; i++) {
    scanf("%d", &x);
    bz[x]++;
  }
  if (s > k) {
    printf("-1\n");
    return 0;
  }
  l = 1;
  r = 0;
  p = m - n * k;
  while (r + 1 <= m) {
    r++;
    bzk[a[r]]++;
    if (bzk[a[r]] <= bz[a[r]]) sum++;
    while (l <= m &&
           ((r - l + 1 - k > p && r - l + 1 >= k) || bzk[a[l]] > bz[a[l]])) {
      bzk[a[l]]--;
      if (bzk[a[l]] < bz[a[l]]) sum--;
      l++;
    }
    if (l > r) continue;
    if (l == 3 && r == 5) l = l;
    if (r - l + 1 < k && sum >= s) {
      if ((l - 1) / k == (r - 1) / k) {
        printf("0\n");
        return 0;
      }
      if ((r - 1) % k + 1 <= p) {
        ans = (r - 1) % k + 1;
        printf("%d\n", ans);
        sum = 0;
        if (ans == 0) return 0;
        for (i = l / k * k + 1; i < l; i++) {
          printf("%d ", i);
          sum++;
          if (sum == ans) return 0;
        }
        return 0;
      }
    }
    if (r - l + 1 >= k && (l - 1) % k + r - l + 1 - k <= p && sum >= s) {
      ans = (l - 1) % k + r - l + 1 - k;
      printf("%d\n", ans);
      if (ans == 0) return 0;
      sum = 0;
      for (i = l / k * k + 1; i < l; i++) {
        printf("%d ", i), sum++;
        if (sum == ans) return 0;
      }
      for (i = l; i <= r; i++)
        if (bzk[a[i]] > bz[a[i]]) {
          bzk[a[i]]--;
          printf("%d ", i);
          sum++;
          if (sum == ans) return 0;
        }
      return 0;
    }
  }
  printf("-1\n");
  return 0;
}
