func_code_string: #include <bits/stdc++.h>   using namespace std;   const int Maxn = 100 * 1000 + 10;   int n, m, l[Maxn], ans1, ans2;   long double a, b;   pair<long double, int> arr[Maxn], brr[Maxn];   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     cin >> n >> m >> a >> b;     for (int i = 0; i < n; i++) {       cin >> arr[i].first;       arr[i].second = i;     }     for (int i = 0; i < m; i++) {       cin >> brr[i].first;       brr[i].second = i;     }     for (int i = 0; i < m; i++) cin >> l[i];     sort(arr, arr + n);     sort(brr, brr + m);     int cup;     long double Min = LLONG_MAX;     for (int i = 0; i < m; i++) {       long double p = (brr[i].first * a) / b;       int ind = lower_bound(arr, arr + n, make_pair(p, -1)) - arr;       long double c, dis;       if (ind < n) {         c = arr[ind].first,         dis = sqrt(a * a + c * c) +               sqrt((b - a) * (b - a) + (brr[i].first - c) * (brr[i].first - c));         cup = ind;       }       if (ind > 0) {         ind--;         c = arr[ind].first;         if (sqrt(a * a + c * c) + sqrt((b - a) * (b - a) +                                        (brr[i].first - c) * (brr[i].first - c)) <             dis) {           cup = ind;           dis = sqrt(a * a + c * c) +                 sqrt((b - a) * (b - a) + (brr[i].first - c) * (brr[i].first - c));         }       }       if (dis + l[brr[i].second] < Min) {         Min = dis + l[brr[i].second];         ans1 = arr[cup].second + 1, ans2 = brr[i].second + 1;       }     }     cout << ans1 <<     << ans2 << endl;     return 0;   }   