#include #include #include #include #include #include using namespace std; using i64 = int64_t; template map compress(const vector &v) { size_t n = v.size(); vector mp = v; sort(mp.begin(), mp.end()); mp.erase(unique(mp.begin(), mp.end()), mp.end()); map w; for(size_t i=0; i(distance(mp.begin(), lower_bound(mp.begin(), mp.end(), v[i]))); } return w; } template class BIT { int N; vector dat; public: explicit BIT(int n) : N(n+2), dat(N) {} void add(int k, T x) { for(int i=k+1; i> logs; vector v; for(size_t q=0; q w = compress(v); BIT tree(static_cast(w.size())); i64 res = 0; for(size_t i=0; i