#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:102400000,102400000")
using std::cin;
using std::cout;
using LL = long long;
using db = double;
using pii = std::pair<int, int>;
using vi = std::vector<int>;
const int MAXN = 5e5 + 10;
int cnt[MAXN];
int c[MAXN];
void solve() {
  int m, k, n, s;
  cin >> m >> k >> n >> s;
  vi a(m), b(s);
  for (int i = 0; i < m; ++i) cin >> a[i];
  for (int i = 0; i < s; ++i) cin >> b[i], cnt[b[i]]++;
  int ok = 0;
  for (int i : cnt)
    if (i > 0) ok++;
  int len = m - n * k + k;
  for (int i = 0; i < m; ++i) {
    if (++c[a[i]] == cnt[a[i]]) ok--;
    int j = i - len;
    if (j >= -1) {
      if (j >= 0 && c[a[j]]-- == cnt[a[j]]) ok++;
      if (ok == 0 && (j + 1) % k == 0) {
        int tot = m - n * k;
        cout << tot << '\n';
        for (int t = j + 1; t <= i; ++t) {
          if (tot == 0) break;
          if (c[a[t]] > cnt[a[t]]) {
            c[a[t]]--;
            tot--;
            cout << t + 1 << ' ';
          }
        }
        return;
      }
    }
  }
  cout << "-1\n";
}
int main() {
  std::ios::sync_with_stdio(false);
  solve();
  return 0;
}
