#include "obstacles.h"
#include<bits/stdc++.h>
using namespace std;
typedef int ll;
int col[3][200200], info[3][200200];
int x[4] = {0, 0, 1, -1}, y[4] = {1, -1, 0, 0};
ll n, m;
bool ok(ll i, ll j){
return i >= 0 && j >= 0 && i < n && j < m && info[i][j] && !col[i][j];
}
void dfs(ll cnt, ll i, ll j){
col[i][j] = cnt;
for(ll k = 0; k < 4; k++) if(ok(i + x[k], j + y[k])) dfs(cnt, i + x[k], j + y[k]);
}
void initialize(vector<int> t, vector<int> h) {
n = t.size(), m = h.size();
ll temp = 0, cnt = 1;
for(ll i = 0; i < n; i++){
for(ll j = 0; j < m; j++) if(t[i] > h[j]) info[i][j] = 1;
}
for(ll i = 0; i < n; i++) for(ll j = 0; j < m; j++) if(info[i][j] && !col[i][j]) dfs(cnt++, i, j);
}
bool can_reach(int l, int r, int s, int d) {
return col[0][s] == col[0][d];
}