import sys import math #from collections import deque, defaultdict, Counter #import heapq #import bisect #import itertools #import functools # 外部ライブラリ(AtCoder環境で利用可能) #from sortedcontainers import SortedList, SortedSet, SortedDict #from atcoder.dsu import DSU #from atcoder.segtree import SegTree #from atcoder.lazysegtree import LazySegTree #from atcoder.fenwicktree import FenwickTree # 入力高速化 #input = sys.stdin.readline # 再帰回数上限 # よくあるmod #MOD = 1000000007 MOD = 998244353 def solve(): # 解答ここから N = int(input()) powers = set() cur = 1 while cur <= N: cur *= 2 powers.add(cur) A = list(map(int, input().split(' '))) if N <= 3000: ans = 0 for i in range(N): for j in range(N): ans = (ans + A[i] * (i^j)) % MOD elif N in powers: ans = 0 for i in range(N): ans = (ans + A[i] * (N // 2) * (N-1)) % MOD else: print(0) print(ans) if __name__ == '__main__': T = 1 for _ in range(T): solve()