#include <bits/stdc++.h>
using namespace std;
int main(int argc, char **argv) {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int n, m, k, s;
  cin >> m >> k >> n >> s;
  vector<int> v(m), req(5 * 1e5 + 1, 0), cur(5 * 1e5 + 1, 0), end(m, -1);
  set<int> lef;
  for (int i = 0; i < m; i++) cin >> v[i];
  for (int i = 0; i < s; i++) {
    int a;
    cin >> a;
    req[a]++, lef.insert(a);
  }
  int i = 0, j = 0, fl = -1;
  while (i < m) {
    while (j < m && !lef.empty()) {
      cur[v[j]]++;
      if (req[v[j]] == cur[v[j]]) lef.erase(v[j]);
      j++;
    }
    if (!lef.empty()) break;
    while (lef.empty()) {
      end[i] = j - 1, cur[v[i]]--;
      if (i % k + max(0, (j - i - k)) <= m - n * k) fl = i;
      if (cur[v[i]] < req[v[i]]) lef.insert(v[i]);
      i++;
    }
  }
  if (fl == -1)
    cout << -1 << endl;
  else {
    cout << fl % k + max(0, (end[fl] - fl + 1 - k)) << endl;
    for (int i = 0; i < fl % k; i++) cout << i + 1 << " ";
    int cnt = end[fl] - fl + 1 - k;
    for (int i = fl; i <= end[fl] && cnt > 0; i++) {
      if (!req[v[i]])
        cout << i + 1 << " ", cnt--;
      else
        req[v[i]]--;
    }
    cout << endl;
  }
}
