#include <bits/stdc++.h>
using namespace std;
const int maxn = 5e5 + 5;
int a[maxn];
int b[maxn];
unordered_map<int, int> mp;
int cnt[maxn];
int main() {
  int n, m, k, s;
  cin >> n >> k >> m >> s;
  for (int i = 1; i <= n; i++) cin >> a[i];
  for (int i = 1; i <= s; i++) {
    cin >> b[i];
    mp[b[i]]++;
  }
  int flag = 1;
  for (int i = 1; i <= n - m * k + k; i++) {
    cnt[a[i]]++;
  }
  for (auto &now : mp) {
    if (cnt[now.first] < now.second) {
      flag = 0;
      break;
    }
  }
  if (flag) {
    int all = n - m * k;
    cout << all << endl;
    for (int i = 1; i <= n - m * k + k && all; i++) {
      if (cnt[a[i]] > mp[a[i]]) {
        cout << i << " ";
        cnt[a[i]]--;
        all--;
      }
    }
    return 0;
  }
  for (int i = 1 + n - m * k + k; i <= n; i++) {
    flag = 1;
    cnt[a[i - (n - m * k + k)]]--;
    cnt[a[i]]++;
    for (auto &now : mp) {
      if (cnt[now.first] < now.second) {
        flag = 0;
        break;
      }
    }
    if (flag) {
      int d = i - (n - m * k + k);
      int div = d / k;
      int res = d % k;
      int d2 = n - i;
      int div2 = d2 / k;
      int res2 = d2 % k;
      int add = 0;
      while (cnt[i - (n - m * k + k) + 1 + add] >
                 mp[i - (n - m * k + k) + 1 + add] &&
             n - m * k >= add && (res + add) % k) {
        cnt[i - (n - m * k + k) + 1 + add]--;
        add++;
      }
      int add2 = 0;
      while (cnt[i - add2] > mp[i - add2] && n - m * k >= add + add2 &&
             (res2 + add2) % k) {
        cnt[i - add2]--;
        add2++;
      }
      if (!(res + add % k) && add) div++;
      if (!(res2 + add2) % k && add2) div2++;
      if (div + div2 >= m - 1) {
        int all = n - m * k;
        cout << all << endl;
        assert(!((res + add) % k) && !((res2 + add2) % k));
        for (int j = i - (n - m * k + k) + 1 + add; j <= i - add2 && all; j++) {
          if (cnt[a[j]] > mp[a[j]]) {
            cout << j << " ";
            cnt[a[j]]--;
            all--;
          }
        }
        return 0;
      } else {
        add--;
        while (add >= 0) {
          cnt[i - (n - m * k + k) + 1 + add]++;
          add--;
        }
        add2--;
        while (add2 >= 0) {
          cnt[i - add2]++;
          add2--;
        }
      }
    }
  }
  cout << -1 << endl;
  return 0;
}
