#include <bits/stdc++.h>
using namespace std;
const int N = 5e5 + 5;
int need[N], a[N], num[N];
int main() {
  int m, k, n, s;
  scanf("%d%d%d%d", &m, &k, &n, &s);
  for (int i = 1; i <= m; i++) scanf("%d", &a[i]);
  int x;
  for (int i = 1; i <= s; i++) scanf("%d", &x), need[x]++;
  int cnt = 0;
  int p1 = 1, p2 = 0, flag = 0;
  while (p2 < m) {
    while (p2 - p1 + 1 < k || cnt < s) {
      num[a[++p2]]++;
      if (num[a[p2]] <= need[a[p2]]) cnt++;
      if (p2 >= m) break;
    }
    while (p1 <= p2 && (p1 - 1) % k + (p2 - p1 + 1) - k > m - k * n) {
      num[a[p1++]]--;
      if (num[a[p1 - 1]] < need[a[p1 - 1]]) {
        cnt--;
        break;
      }
    }
    if (cnt == s) {
      flag = 1;
      break;
    }
  }
  if (!flag) return 0 * printf("-1\n");
  int res = m - n * k - (p2 - p1 + 1 - k);
  printf("%d\n", m - n * k);
  for (int i = (n - 1) * k + 1; i < p1; i++) printf("%d ", i), res--;
  int del = 0;
  for (int j = p1; j <= p2; j++) {
    if (p2 - p1 + 1 - del <= k) break;
    if (need[a[j]] < num[a[j]]) printf("%d ", j), num[a[j]]--, del++;
  }
  for (int i = p2 + 1; i <= m; i++)
    if (res) printf("%d ", i), res--;
  return 0;
}
