#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,648*n/9); a[0] = 0; vector ans; int bef = 0; int beg = 0; for(int i = 0;i < n+2;i++) { if(i == 1) { for(int i = 0;i <= 9;i++) if(i == ans.back()) a[i] = 0; else a[i] = bef/9; } if(i > 1 && i < n+1) { for(int i = 0;i <= 9;i++) if(i == ans[0]) a[i] = 0; else if(i == ans.back()) a[i] = bef-8; else a[i] = 1; } if(i == n+1) { for(int i = 0;i <= 9;i++) if(i == ans[0]) a[i] = 0; else a[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; }