#include #include #include #include #include #define pb push_back #define mp make_pair #define xx first #define yy second #define rep(i,a,b) for(int i=(a),i##_end_=(b);i<=i##_end_;i++) #define dwn(i,a,b) for(int i=(a),i##_end_=(b);i>=i##_end_;i--) using namespace std; inline int read() { int x=0,f=1;char c=getchar(); for(;!isdigit(c);c=getchar()) if(c=='-') f=-1; for(;isdigit(c);c=getchar()) x=x*10+c-'0'; return x*f; } typedef long long ll; typedef pair pii; int ans[10010],m; int check(int n,int i) { } int main() { int T=read(); while(T--) { int n=read();m=0; int x=n,t=0; while(x) t+=x%10,x/=10; for(int i=1;i*i<=n;i++) if(n%i==0) { if(t%i==0) ans[++m]=i; if(i*i!=n&&t%(n/i)==0) ans[++m]=n/i; } sort(ans+1,ans+m+1); printf("%d\n",m); rep(i,1,m) printf("%d%c",ans[i],i==m?'\n':' '); } return 0; }