#include <bits/stdc++.h>
using namespace std;
const double PI = acosl(-1);
struct pt {
  long long x, y;
};
long long cr(pt a, pt b) { return a.x * b.y - a.y * b.x; }
double dist(pt a) { return sqrt(((a.x) * (a.x)) + ((a.y) * (a.y))); }
int main() {
  cout.precision(10);
  int n, m;
  long long a, b;
  cin >> n >> m >> a >> b;
  vector<pt> A(n), B(m);
  vector<long long> L(m);
  for (int i = 0; i < n; ++i) cin >> A[i].y, A[i].x = a;
  for (int i = 0; i < m; ++i) cin >> B[i].y, B[i].x = b;
  for (int i = 0; i < m; ++i) cin >> L[i];
  int ptr = 0;
  double current = 1e18;
  pair<int, int> ans = {-1, -1};
  for (int i = 0; i < m; ++i) {
    while (ptr < n - 1 && cr(A[ptr], B[i]) >= 0) ++ptr;
    for (int j = max(0, ptr - 1); j <= min(n - 1, ptr + 1); ++j) {
      double dst = dist(A[j]) + dist({A[j].x - B[i].x, A[j].y - B[i].y}) + L[i];
      if (dst < current) current = dst, ans = {j + 1, i + 1};
    }
  }
  cout << ans.first << ' ' << ans.second;
}
