#include using namespace std; //#define int long long //#define float long double using uint = unsigned; using ll = long long; using ull = unsigned long long; using ld = long double; using pii = pair; using pll = pair; using pff = pair; using pdd = pair; #define endl '\n' #define all(x) (x).begin(), (x).end() #define pb push_back #define pf push_front #define fi first #define se second const ld PI = 3.14159265358979323846; const ld E = 2.71828182845904523536; const int MOD = 998244353; signed main() { std::cin.tie(nullptr);std::ios::sync_with_stdio(false); int tt = 1; cin >> tt; while(tt--) { int n,k; cin >> n >> k; vector a(10); vector ans; int bef = 0; int beg = 0; for(int i = 0;i < n+2;i++) { if(i == 0) { a.assign(10,8*n*9); a[0] = 0; } else if(i == 1) { a.assign(10,8*n); a[ans[0]] = 0; } else { a.assign(10,1); a[ans[0]] = 0; a[ans.back()] = 8*(n-i+1); } int b = k-beg; for(int j = 0;j <= 9;j++) { b -= a[j]; if(b <= 0) { bef = a[j]; ans.pb(j); break; } else beg += a[j]; } if(bef == 1) break; } cout << ans.size() << ' ' << ans[0] << ' ' << ans[1] << ' ' << ans.back() << endl; } return 0; }