#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define LOG(FMT...) fprintf(stderr, FMT) using namespace std; typedef long long ll; typedef unsigned long long ull; // mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int gcd(int a, int b) { return b ? gcd(b, a % b) : a; } int f(int x) { return x ? (f(x / 10) + (x % 10)) : 0; } void solve() { int n; scanf("%d", &n); n = gcd(n, f(n)); vector s; for (int i = 1; i < n; ++i) if (n % i == 0) s.push_back(i); printf("%lu\n", s.size() + 1); for (int x : s) printf("%d ", x); printf("%d\n", n); } int main() { int t; scanf("%d", &t); while (t--) { solve(); } return 0; }