#include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i, n) for (int i = 0; i < (n); i++) int main() { int n; cin >> n; vector a(n); rep(i, n) cin >> a[i]; long long sum = 0; int x = 0; rep(i, n) sum += a[i], x ^= a[i]; long long t; if(x != 0) { int m = 2e9; rep(i, n) m = min(m, (a[i] ^ x) - a[i]); t = sum + m + 1; } else t = sum; cout << (((mint)1 - ((mint)(-1) / 3).pow(t)) / 2).val() << endl; }