#include <bits/stdc++.h>
using namespace std;
int toInt(string s) {
  istringstream sin(s);
  int t;
  sin >> t;
  return t;
}
template <class T>
string toString(T x) {
  ostringstream sout;
  sout << x;
  return sout.str();
}
template <class T>
void chmin(T &t, T f) {
  if (t > f) t = f;
}
template <class T>
void chmax(T &t, T f) {
  if (t < f) t = f;
}
int A[100010], B[100010], L[100010];
double dist(double x, double y) { return sqrt(x * x + y * y); }
int main() {
  int n, m, a, b;
  cin >> n >> m >> a >> b;
  int i, j;
  for (i = (0); i < (n); i++) scanf("%d", A + i);
  for (i = (0); i < (m); i++) scanf("%d", B + i);
  for (i = (0); i < (m); i++) scanf("%d", L + i);
  double ans = 1e18;
  int px, py;
  for (i = (0); i < (m); i++) {
    int lo = 0, hi = n - 1;
    while (lo <= hi) {
      int mid = (lo + hi) / 2;
      if (1ll * A[mid] * b > 1ll * a * B[i])
        hi = mid - 1;
      else
        lo = mid + 1;
    }
    for (j = hi - 2; j < hi + 4; j++)
      if (j >= 0 && j < n) {
        double d = dist(a, A[j]) + dist(b - a, B[i] - A[j]) + L[i];
        if (ans > d) {
          ans = d;
          px = j;
          py = i;
        }
      }
  }
  printf("%d %d\n", px + 1, py + 1);
  return 0;
}
