#include #include #include #include #include #include #include using namespace std; struct P { int zhi; int l; long long r; }a[50005]; struct tree1 { int left; int right; int sum; }tree[400005]; void init(int inst,int l,int r) { tree[inst].left=l; tree[inst].right=r; tree[inst].sum=0; if(l==r) return ; int mid=(l+r)>>1; init(2*inst,l,mid); init(2*inst+1,mid+1,r); } int add(int inst,int k) { tree[inst].sum++; if(tree[inst].left==tree[inst].right) return 0; int mid=(tree[inst].left+tree[inst].right)>>1; if(k<=mid) { return add(2*inst,k); } else return tree[2*inst].sum+add(2*inst+1,k); } int main() { int t; scanf("%d",&t); while(t--) { int n; scanf("%d",&n); init(1,1,n); for(int i=0;i=0;i--) a[i].r+=a[i+1].r; long long sum=0; for(int i=1;i