#include <bits/stdc++.h>
using namespace std;
const int SIZE = 5 * 1e5;
int main() {
  int m, k, n, s;
  cin >> m >> k >> n >> s;
  vector<int> a(m);
  for (int i = 0; i < m; i++) cin >> a[i], a[i]--;
  vector<int> target(SIZE);
  for (int i = 0; i < s; i++) {
    int b;
    cin >> b;
    b--;
    target[b]++;
  }
  vector<int> cnt(SIZE);
  int badCnt =
      count_if(target.begin(), target.end(), [](int v) { return v > 0; });
  int l = 0, r = 0;
  while (true) {
    if (badCnt > 0) {
      if (r == m) break;
      cnt[a[r]]++;
      if (cnt[a[r]] == target[a[r]]) badCnt--;
      r++;
    } else {
      int len = r - l;
      int cost = max(len - k, 0) + l % k;
      if (cost <= m - n * k) {
        cout << cost << endl;
        vector<int> res;
        for (int i = 0; i < l % k; i++) {
          res.push_back(i);
        }
        for (int i = l; i < r; i++) {
          if (cnt[a[i]] > target[a[i]]) {
            res.push_back(i);
            cnt[a[i]]--;
          }
        }
        for (int i = 0; i < cost; i++) {
          cout << res[i] + 1 << (i + 1 == cost ? "\n" : " ");
        }
        return 0;
      }
      if (cnt[a[l]] == target[a[l]]) badCnt++;
      cnt[a[l]]--;
      l++;
    }
  }
  cout << -1 << endl;
  return 0;
}
