from sys import setrecursionlimit setrecursionlimit(10 ** 5) MOD = 998244353 def dfs(a, k): if len(a) == 1 or k < 0: return 1 else: if ((a[0] >> k) & 1) or ((a[-1] >> k) & 1 == 0): return dfs(a, k - 1) else: for i in range(1, len(a)): if (a[i] >> k) & 1: return (2 * dfs(a[:i], k - 1) * dfs(a[i:], k - 1)) % MOD N = int(input()) a = list(map(int, input().split())) a.sort() print(dfs(a, 32))