#include <bits/stdc++.h>
using namespace std;
double p1[100000];
pair<double, double> p2[100000];
int n, m, a, b;
pair<int, int> ans;
double mn;
double dis(double x1, double y1, double x2, double y2) {
  return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
void update(int x, int y) {
  double d = dis(0, 0, a, p1[x]) + dis(a, p1[x], b, p2[y].first) + p2[y].second;
  if (d < mn) {
    ans = pair<int, int>(x, y);
    mn = d;
  }
}
int main() {
  int i, j;
  scanf("%d %d %d %d", &n, &m, &a, &b);
  for (i = 0; i < n; i++) scanf("%lf", &p1[i]);
  for (i = 0; i < m; i++) scanf("%lf", &p2[i].first);
  for (i = 0; i < m; i++) scanf("%lf", &p2[i].second);
  sort(p1, p1 + n);
  sort(p2, p2 + m);
  int pos = 0;
  mn = 100000000;
  for (i = 0; i < m; i++) {
    double y = p2[i].first * a / b;
    while (pos < n && p1[pos] < y) pos++;
    if (pos > 0) update(pos - 1, i);
    update(pos, i);
    if (pos < n - 1) update(pos + 1, i);
  }
  printf("%d %d\n", ans.first + 1, ans.second + 1);
  return 0;
}
