mod = 998244353 log = {1 << i: i for i in range(25)} def to_seg(n: int): ans = [] while n: lsb = n & -n ans.append((n - lsb, log[lsb])) n -= n & -n ans.reverse() return ans def solve1(n: int): seg = to_seg(n) ans = [0] * n for j in range(n): for l, w in seg: nl = (l ^ j) >> w << w nr = nl + (1 << w) ans[j] += (nl + nr - 1) * (1 << w) // 2 return ans def solve(): n = int(input()) a = tuple(map(lambda s_: int(s_), input().split())) coe = solve1(n) ans = sum(ai * c % mod for ai, c in zip(a, coe)) ans %= mod return ans case_t = 1 # case_t = int(input()) for _ in [None] * case_t: print(solve())