#include <bits/stdc++.h>
using namespace std;
const int maxn = 100010;
double x[maxn], y[maxn], c[maxn];
double a, b;
double get(int i, int j) {
  return sqrt(((a) * (a)) + ((x[i]) * (x[i]))) +
         sqrt(((a - b) * (a - b)) + ((x[i] - y[j]) * (x[i] - y[j]))) + c[j];
}
int main() {
  int n, m;
  scanf("%d%d%lf%lf", &n, &m, &a, &b);
  for (int i = 0; i < n; i++) scanf("%lf", &x[i]);
  for (int i = 0; i < m; i++) scanf("%lf", &y[i]);
  for (int i = 0; i < m; i++) scanf("%lf", &c[i]);
  int pt = n - 1;
  int r1, r2;
  double mi = 1000000000.0;
  for (int i = m - 1; i >= 0; i--) {
    while (pt >= 1 && get(pt, i) > get(pt - 1, i)) {
      pt--;
    }
    if (get(pt, i) < mi) {
      mi = get(pt, i);
      r1 = pt + 1;
      r2 = i + 1;
    }
  }
  printf("%d %d\n", r1, r2);
  return 0;
}
