#include <bits/stdc++.h>
using namespace std;
const long long INF = 0x3f3f3f3f;
const long long mod = 1e9 + 7;
const long long maxn = 5e5 + 5;
const double eps = 1e-7;
const double PI = acos(-1);
int sum[maxn], cot[maxn];
int main() {
  int m, k, n, s;
  cin >> m >> k >> n >> s;
  vector<int> res(m + 1);
  for (int i = 1; i <= m; i++) {
    cin >> res[i];
  }
  for (int i = 0; i < s; i++) {
    int x;
    cin >> x;
    cot[x]++;
  }
  int cnt = 0;
  for (int i = 1; i <= 5e5; i++) {
    if (cot[i] == 0) cnt++;
  }
  int r = m;
  for (int i = m; i >= 1; i--) {
    sum[res[i]]++;
    if (sum[res[i]] == cot[res[i]]) cnt++;
    while (r - i + 1 >= k && cnt >= 5e5) {
      if (sum[res[r]] == cot[res[r]]) cnt--;
      sum[res[r]]--;
      r--;
    }
    if (r < m) {
      r++;
      sum[res[r]]++;
      if (sum[res[r]] == cot[res[r]]) cnt++;
    }
    if (cnt == 5e5 && r - i + 1 >= k && (i - 1) / k + 1 + (m - r) / k >= n) {
      cout << r - i + 1 - k + (i - 1) % k << endl;
      for (int j = 1; j <= (i - 1) % k; j++) {
        cout << j << " ";
      }
      int tot = (r - i + 1 - k);
      for (int j = i; j <= r; j++) {
        if (sum[res[j]] > cot[res[j]] && tot > 0) {
          cout << j << " ";
          tot--;
        }
        sum[res[j]]--;
      }
      return 0;
    }
  }
  cout << -1;
  return 0;
}
