#include<bits/stdc++.h> usingnamespace std; #define int long long inlineintread(){int x=0,f=1;char ch=getchar(); while(ch<'0'|| ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){ x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}return x*f;} #define Z(x) (x)*(x) #define pb push_back //mt19937 rand(time(0)); //mt19937_64 rand(time(0)); //srand(time(0)); #define N 500010 //#define M //#define mo structnode { int x, id; booloperator < (const node &A) const { return id < A.id; } }b[N]; int n, m, i, j, k, T; int ans, a[N], mp[N], nxt[N], f[N], l; set<node>s; set<node>::iterator it;
structBinary_tree { int cnt[N]; voidadd(int x, int y){ while(x<N) cnt[x]+=y, x+=x&-x; } intque(int x){ int ans = 0; while(x) ans+=cnt[x], x-=x&-x; return ans; } }Bin;