//84104971101048411497 - Can you guess what does this mean? using namespace std; #include #define mapii map #define debug(a) cout << #a << ": " << a << endl #define debuga1(a, l, r) fto(i, l, r) cout << a[i] << " "; cout << endl #define fdto(i, r, l) for(int i = (r); i >= (l); --i) #define fto(i, l, r) for(int i = (l); i <= (r); ++i) #define forit(it, var) for(__typeof(var.begin()) it = var.begin(); it != var.end(); it++) #define forrit(rit, var) for(__typeof(var.rbegin()) rit = var.rbegin(); rit != var.rend(); rit++) #define ii pair #define iii pair #define ff first #define ss second #define mp make_pair #define pb push_back #define ll long long #define maxN 1000005 #define oo 1000000007 #define sz(a) (int)a.size() template T min(T a, T b, T c) { return min(a, min(b, c)); } template T max(T a, T b, T c) { return max(a, max(b, c)); } int q, d[maxN], id[maxN], cnt; vector ver[maxN], adj[maxN]; void Infix(int u) { if (adj[u].size() > 0) Infix(adj[u][0]); id[u] = ++cnt; if (adj[u].size() > 1) Infix(adj[u][1]); } void Prefix(int u) { printf("%d ", id[u]); forit(it, adj[u]) Prefix(*it); } int main () { scanf("%d", &q); fto(i, 1, q) { int n; ll c; scanf("%d%lld", &n, &c); fto(i, 0, n-1) d[i] = n-i-1, c -= d[i]; int cur = 1, minD = 1; fto(i, 0, n-1) { int x = max(0, min((int)min((ll)n, -c), d[i]-minD)); d[i] -= x; c += x; ++cur; if (cur == 1<