func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 3e5 + 10, size = 1 << 20, mod = 998244353;   template <class o>   void qr(o &x) {     char c = getchar();     x = 0;     int f = 1;     while (!isdigit(c)) {       if (c ==  - ) f = -1;       c = getchar();     }     while (isdigit(c)) x = x * 10 + c -  0 , c = getchar();     x *= f;   }   template <class o>   void qw(o x) {     if (x / 10) qw(x / 10);     putchar(x % 10 +  0 );   }   template <class o>   void pr1(o x) {     if (x < 0) x = -x, putchar( - );     qw(x);     putchar(   );   }   template <class o>   void pr2(o x) {     if (x < 0) x = -x, putchar( - );     qw(x);     puts(  );   }   long long mult(long long a, long long b, long long p) {     a = (a % p + p) % p;     b = (b % p + p) % p;     long long c = (long double)a * b / p;     return a * b - c * p;   }   long long gcd(long long a, long long b) { return !a ? b : gcd(b % a, a); }   long long lcm(long long a, long long b) { return a / gcd(a, b) * b; }   long long power(long long a, long long b = mod - 2) {     long long c = 1;     while (b) {       if (b & 1) c = c * a % mod;       b /= 2;       a = a * a % mod;     }     return c;   }   long long Power(long long a, long long b = mod - 2) {     long long c = 1;     while (b) {       if (b & 1) c = mult(c, a, mod);       b /= 2;       a = mult(a, a, mod);     }     return c;   }   int n;   long long inv, a[N];   int main() {     qr(n);     inv = power(n);     for (int i = 1; i <= n; i++) qr(a[i]);     sort(a + 1, a + n + 1);     for (int i = 1; i <= n; i++) (a[i] += a[i - 1]) %= mod;     for (int i = 1; i <= n; i++) {       int pos = n - i, t = 1;       long long ans = 0;       while (pos >= i) {         ans += (a[pos] - a[pos - i] + mod) * t++ % mod;         pos -= i;       }       (ans += a[pos] * t) %= mod;       pr1(ans * inv % mod);     }     return 0;   }   