#pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include #include #define rep(i, a, b) for (ll i = (ll)(a); i < (ll)(b); i++) using namespace atcoder; using namespace std; typedef long long ll; int f(int c0, int c1, int n) { int ret = n; if (c0 > c1) swap(c0, c1); if (ret >= c0) ret++; if (ret >= c1) ret++; return ret; } void solve() { ll n, k; cin >> n >> k; k--; int c0 = k / (n * 72) + 1; k %= n * 72; int c1 = k / (n * 8); if (c1 >= c0) c1++; k %= n * 8; int p = c1; if (c0 < c1) p--; int q = 8 - p; ll pcnt = n * p, lcnt = n * q; ll len, cl; if (k < pcnt) { len = k / p + 1; cl = k % p; } else { ll nk = k - pcnt; len = n + nk / q; cl = nk % q + p; } if (len >= n) len = n - (len - n); cl = f(c0, c1, cl); len += 2; cout << len << ' ' << c0 << ' ' << c1 << ' ' << cl << '\n'; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout << fixed << setprecision(15); int t; cin >> t; while (t--) solve(); }