MOD = 998244353 def main(): import sys input = sys.stdin.read().split() n = int(input[0]) a = list(map(int, input[1:n+1])) groups = [a] ans = 1 for k in reversed(range(30)): # from 29 downto 0 new_groups = [] flag = False for group in groups: split = False val = None for num in group: bit = (num >> k) & 1 if val is None: val = bit else: if bit != val: split = True break if split: group0 = [] group1 = [] for num in group: if (num >> k) & 1: group1.append(num) else: group0.append(num) new_groups.append(group0) new_groups.append(group1) flag = True else: new_groups.append(group) if flag: ans = (ans * 2) % MOD groups = new_groups print(ans % MOD) if __name__ == "__main__": main()