#include #include using namespace std; #define MOD 998244353 int main() { int n; cin >> n; vector a(n); for (long long &l : a) { cin >> l; } long long s = 0; vector p(32, 0); for (int i = 0; i < n; i++) { s += i; s %= MOD; for (int j = 0; j < 32; j++) { if (((i >> j) & 1) == 1) { p[j]++; } } } long long ans = 0; for (int i = 0; i < n; i++) { long long b = s; for (int j = 0; j < 32; j++) { if (((i >> j) & 1) == 0) { continue; } int q = n - p[j]; long long l = (1 << j); l = l * q - l * p[j]; // cout << i << " " << j << ": " << l << endl; l %= MOD; b += l; b %= MOD; } ans += b * a[i]; ans %= MOD; } cout << (ans + MOD) % MOD << endl; }