#include <bits/stdc++.h>
using namespace std;
map<pair<int, int>, int> M;
set<int> S;
int c[100009], d[100009], e[100009], a, b;
inline double dis(double a, double b, double c, double d) {
  return sqrt((a - c) * (a - c) + (b - d) * (b - d));
}
int ef(int i, int j, int n, int t) {
  if (i == j) return i;
  int m = (i + j) >> 1;
  if (dis(0, 0, a, c[m]) + dis(a, c[m], b, d[t]) <
      dis(0, 0, a, c[m + 1]) + dis(a, c[m + 1], b, d[t]))
    return ef(i, m, n, t);
  return ef(m + 1, j, n, t);
}
int main() {
  int i, j, k, n, m, mini, minj;
  double min, t;
  scanf("%d%d%d%d", &n, &m, &a, &b);
  for (i = 1; i <= n; i++) scanf("%d", &c[i]);
  for (i = 1; i <= m; i++) scanf("%d", &d[i]);
  for (i = 1; i <= m; i++) scanf("%d", &e[i]);
  c[0] = c[n + 1] = 100009 << 10;
  min = 100009 << 10;
  for (i = 1; i <= m; i++) {
    j = ef(1, n, n, i);
    t = dis(0, 0, a, c[j]) + e[i] + dis(a, c[j], b, d[i]);
    if (t < min) {
      min = t;
      mini = i;
      minj = j;
    }
  }
  printf("%d %d\n", minj, mini);
  return 0;
}
