#include <bits/stdc++.h>
using namespace std;
double y[100010], y2[100010], l[100010];
double a, b;
double dis(double x, double yy) {
  double ret =
      sqrt(a * a + x * x) + sqrt((b - a) * (b - a) + (yy - x) * (yy - x));
  return ret;
}
int main() {
  int n, m;
  scanf("%d%d%lf%lf", &n, &m, &a, &b);
  for (int i = 1; i <= n; i++) scanf("%lf", &y[i]);
  for (int i = 1; i <= m; i++) scanf("%lf", &y2[i]);
  for (int i = 1; i <= m; i++) scanf("%lf", &l[i]);
  double ans = 1000000000;
  int p1, p2;
  for (int i = 1; i <= m; i++) {
    double ty = y2[i] / b * a;
    int pos = lower_bound(y + 1, y + n + 1, ty) - y;
    if (dis(y[pos], y2[i]) + l[i] < ans) {
      ans = dis(y[pos], y2[i]) + l[i];
      p1 = pos;
      p2 = i;
    }
    if (pos > 1 && dis(y[pos - 1], y2[i]) + l[i] < ans) {
      ans = dis(y[pos - 1], y2[i]) + l[i];
      p1 = pos - 1;
      p2 = i;
    }
  }
  printf("%d %d", p1, p2);
  return 0;
}
