#include #include #include #include #include using namespace std; const int MAXLEN = 5; const int MAXVAL = 99999; void solve() { string s; cin >> s; vector ret; set cands; for(int plen = 1; plen <= MAXLEN && plen <= s.size(); plen++) { int lhs = stoi(s.substr(0, plen)); cands.insert(lhs); cands.insert(lhs-1); } for(int lhs: cands) { if(lhs <= 0) continue; int cidx = 0; for(int skip = lhs; skip <= MAXVAL; skip++) { bool good = true; int nidx = cidx; for(int i = skip+1; good; i++) { if(nidx == s.size()) break; if(i > MAXVAL) { good = false; break; } string curr = to_string(i); if(nidx + curr.size() > s.size()) { good = false; break; } if(s.substr(nidx, curr.size()) != curr) { good = false; break; } nidx += curr.size(); } if(good) ret.push_back(skip); string curr = to_string(skip); if(cidx + curr.size() > s.size()) break; if(s.substr(cidx, curr.size()) != curr) break; cidx += curr.size(); } } assert(ret.size()); sort(ret.begin(), ret.end()); ret.erase(unique(ret.begin(), ret.end()), ret.end()); cout << ret.size() << "\n"; for(int i = 0; i < ret.size(); i++) cout << ret[i] << " \n"[i == ret.size()-1]; } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int t; cin >> t; while(t--) solve(); }