#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimization("Ofast")
#pragma GCC optimization("unroll-loops")
#pragma GCC target("avx2,avx,fma")
unordered_map<int, int> m1;
unordered_map<int, int> m2;
unordered_map<int, int> m3;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  int i, j, l, d, m, k, n, s;
  cin >> m >> k >> n >> s;
  vector<int> a(m);
  vector<int> b(s);
  for (i = 0; i < m; i++) cin >> a[i];
  for (i = 0; i < s; i++) {
    cin >> b[i];
    m1[b[i]]++;
  }
  i = -1;
  j = 0;
  bool f = 1;
  while (j < m && i < j) {
    if (f && (m1.find(a[j]) != m1.end()) &&
        (!(m2.find(a[j]) != m2.end() && m1[a[j]] == m2[a[j]]))) {
      m2[a[j]]++;
    }
    if (f) {
      m3[a[j]]++;
    }
    if (!f && i >= 0 && m2.find(a[i]) != m2.end())
      if (m2[a[i]] == m3[a[i]]) {
        m2[a[i]]--;
        if (m2[a[i]] == 0) m2.erase(a[i]);
      }
    if (!f) {
      m3[a[i]]--;
    }
    if (m1 != m2) {
      j++;
      f = 1;
    } else {
      f = 0;
      if (j - i >= k) {
        if ((i + 1) / k + (m - j - 1) / k + 1 >= n) {
          d = (i + 1) % k + ((j - i) - k);
          cout << d << "\n";
          for (l = ((i + 1) / k) * k; l < j + 1; l++)
            if (m2.find(a[l]) == m2.end()) {
              if (d == 0) return 0;
              cout << l + 1 << " ";
              d--;
            } else {
              m2[a[l]]--;
              if (m2[a[l]] == 0) m2.erase(a[l]);
            }
          return 0;
        }
      } else if ((i + 1) % k + (j - i) <= k) {
        cout << 0;
        return 0;
      } else {
        if ((i + 1) / k + (m - j - 1) / k + 1 >= n) {
          d = (i + 1) % k + (j - i) - k;
          cout << d << "\n";
          for (l = ((i + 1) / k) * k; l < j; l++)
            if (m2.find(a[l]) == m2.end()) {
              if (d == 0) return 0;
              cout << l + 1 << " ";
              d--;
            } else {
              m2[a[l]]--;
              if (m2[a[l]] == 0) m2.erase(a[l]);
            }
          return 0;
        }
      }
      i++;
    }
  }
  cout << -1;
  return 0;
}
