func_code_string: #include <bits/stdc++.h>   using namespace std;   long long power(long long a, long long b) {     long long res = 1ll;     while (b > 0) {       if (b % 2 != 0) res = (res * a) % 1000000007;       a = (a * a) % 1000000007;       b /= 2;     }     return res % 1000000007;   }   long long ncr(long long n, long long k) {     if (k > n - k) k = n - k;     long long pro = 1;     for (long long i = 0; i < k; i++) {       pro = (pro * (n - i)) % 1000000007;       pro /= (i + 1);     }     return (pro) % 1000000007;   }   void swap(long long *a, long long *b) {     long long temp = *a;     *a = *b;     *b = temp;   }   vector<long long> prime;   void seive() {     vector<bool> isprime(1000001, true);     for (int i = 2; i * i <= 1000000; i++) {       if (isprime[i]) {         for (int j = i * i; j <= 1000000; j += i) {           isprime[j] = false;         }       }     }     for (int i = 2; i <= 1000000; i++) {       if (isprime[i]) prime.push_back(i);     }   }   vector<long long> parent;   long long find(long long p) {     if (parent[p] == p) return parent[p];     return parent[p] = find(parent[p]);   }   void unun(long long a, long long b) {     long long r1 = find(a);     long long r2 = find(b);     if (r1 != r2) parent[r2] = r1;   }   void solve() {     long long n;     cin >> n;     set<long long> s;     s.insert(0);     s.insert(1);     s.insert(n);     for (int i = 1; i * i <= n; i++) {       long long x = (n / i);       long long y = (n / x);       s.insert((n / x));       s.insert((n / y));     }     cout << s.size() <<   n ;     for (auto itr : s) cout << itr <<    ;     cout <<   n ;   }   int main(void) {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     int t;     t = 1;     cin >> t;     while (t--) {       solve();     }     return 0;   }   