#include using namespace std; using ll = long long; template map compress(vector &A){ map comp; int N = A.size(), i=0; for (int i=0; i struct BIT { private: vector bit; int N; T _sum(int r){ r++; T res = 0; while(r > 0) res += bit[r-1], r -= r & -r; return res; } public: BIT (int n){ N = n; bit.resize(N);} BIT (vector &a) : BIT(a.size()) { for (int i=0; i> N; vector a(N), b(N), c; for (int i=0; i> a[i], c.push_back(a[i]); for (int i=0; i> b[i], c.push_back(b[i]); sort(a.begin(), a.end()); map mp = compress(c); for (int i=0; i bit(N*2); for (int i=0; i