#include <bits/stdc++.h>
using namespace std;
const long double INF = 1e16;
const int N = 1e5 + 5;
int n, m, y[N], y2[N], l2[N];
int a, b, ai, aj;
long double ans = INF;
long double relax(int i, int j) {
  long double dist =
      sqrt(1.0 * a * a + 1.0 * y[i] * y[i]) + l2[j] +
      sqrt(1.0 * (b - a) * (b - a) + 1.0 * (y[i] - y2[j]) * (y[i] - y2[j]));
  if (dist < ans) {
    ans = dist;
    ai = i;
    aj = j;
  }
  return dist;
}
int main() {
  cin >> n >> m >> a >> b;
  for (int i = 0; i < n; ++i) scanf("%d", &y[i]);
  for (int i = 0; i < m; ++i) scanf("%d", &y2[i]);
  for (int i = 0; i < m; ++i) scanf("%d", &l2[i]);
  for (int i = 0; i < m; ++i) {
    int l = 0, r = n - 1, m1, m2;
    while (r - l >= 3) {
      m1 = (2 * l + r) / 3;
      m2 = (l + 2 * r) / 3;
      if (relax(m1, i) > relax(m2, i))
        l = m1;
      else
        r = m2;
    }
    for (int j = l; j <= r; ++j) relax(j, i);
  }
  cout << ai + 1 << " " << aj + 1;
  return 0;
}
