#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 10, inf = 1e9;
pair<int, int> a[MAXN], b[MAXN];
int l[MAXN];
double dist(pair<int, int> x, pair<int, int> y) {
  long long px = x.first - y.first, py = y.second - x.second;
  px *= px;
  py *= py;
  return sqrt(px + py);
}
int main() {
  int n, m, x1, x2;
  cin >> n >> m >> x1 >> x2;
  for (int i = 1; i <= n; i++) {
    int y;
    cin >> y;
    a[i] = make_pair(x1, y);
  }
  for (int i = 1; i <= m; i++) {
    int y;
    cin >> y;
    b[i] = make_pair(x2, y);
  }
  for (int i = 1; i <= m; i++) cin >> l[i];
  int i = 1, ind1 = 0, ind2 = 0;
  double Min = inf;
  pair<int, int> z = make_pair(0, 0);
  for (int j = 1; j <= m; j++) {
    while (i < n and dist(z, a[i]) + dist(a[i], b[j]) >
                         dist(z, a[i + 1]) + dist(a[i + 1], b[j]))
      i++;
    double dis = dist(z, a[i]) + dist(a[i], b[j]) + (double)l[j];
    if (dis < Min) {
      ind1 = i;
      ind2 = j;
      Min = dis;
    }
  }
  cout << ind1 << " " << ind2 << endl;
  return 0;
}
