#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int maxN = 5e5 + 5;
int m, k, n, s;
vector<int> a;
int c[maxN], h[maxN];
int main(int argc, char *argv[]) {
  cin >> m >> k >> n >> s;
  a.resize(m + 1);
  for (int i = 1; i <= m; ++i) cin >> a[i];
  int total = 0;
  for (int i = 0; i < s; ++i) {
    int x;
    cin >> x;
    c[x]++;
    if (c[x] == 1) total++;
  }
  int cur_s = 0;
  vector<int> ans;
  bool found = false;
  for (int l = 1, r = 1; l + k - 1 <= m; ++l) {
    while ((cur_s < total && r <= m) || r - l + 1 <= k) {
      h[a[r]]++;
      if (h[a[r]] == c[a[r]]) cur_s++;
      r++;
    }
    if (cur_s == total && (l - 1) / k + (m - r + 1) / k + 1 >= n) {
      found = true;
      int to_remove = r - l - k;
      for (int i = l; to_remove > 0 && i < r; ++i) {
        if (h[a[i]] > c[a[i]]) {
          to_remove--;
          ans.emplace_back(i);
          h[a[i]]--;
        }
      }
      break;
    }
    if (h[a[l]] == c[a[l]]) cur_s--;
    h[a[l]]--;
  }
  if (found == false)
    cout << -1 << endl;
  else {
    cout << ans.size() << endl;
    for (int i = 0; i < ans.size(); ++i) {
      if (i > 0) cout << " ";
      cout << ans[i];
    }
    cout << endl;
  }
  return 0;
}
