#include using namespace std ; vector < pair < long long , long long > >city , cloud ; unordered_set < int >s[200009] , e[200009] , tot ; long long ans1[100009] ; int n , m ; int main() { cin>>n ; for(int i=0 ; i>x ; city.push_back({0 , x}) ; } for(int i=0 ; i>x ; city[i].first = x ; } cin>>m ; for(int i=0 ; i>x ; cloud.push_back({x , 0}) ; } for(int i=0 ; i>x ; cloud[i].second = x ; } sort(city.begin() , city.end()) ; for(int i= 0 ; i= l) { if(ans1 == -1) ans1 = mid ; else ans1 = min(ans1 , mid) ; end = mid - 1 ; } else start = mid + 1 ; } start = 0 , end = city.size() - 1 ; while(start <= end) { int mid = (start + end)/2 ; if(city[mid].first <= r ) { if(ans2 == -1) ans2 = mid ; else ans2 = max(ans2 , mid) ; start = mid + 1 ; } else end = mid - 1 ; } if(ans1 != -1 && ans2!=-1) { //l1[i] = ans1; //r1[i] = ans2 ; //f[ans1]++ ; //f[ans2+1]-- ; s[ans1].insert(i) ; e[ans2+1].insert(i) ; } } long long ans = 0 ; /*for(int i = 0 ; i<=n ; i++) { if(i != 0 ) f[i] = f[i] + f[i-1] ; if(f[i] == 0 ) ans = ans + city[i].second ; }*/ for(int i = 0 ; i