#include <bits/stdc++.h>

using namespace std;

//#define int long long

long long mod = 998244353;

long long cc(long long a, int n) {
    if (n == 0) return 1;
    long long res = cc(a, n / 2);
    if (n % 2 == 0) return res * res % mod;
    else return (res * res % mod) * a % mod;
}


signed main() {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int n, q;
    cin >> n >> q;
    vector<int> a(n);
    for (int i = 0; i < n; i++) cin >> a[i];
    vector<long long> ans(8);
    for (int mask = 0; mask < 8; mask++) {
        auto b = a;
        for (int i = 0; i < 3; i++) {
            if ((mask >> i) & 1) {
                if (i == 0) {
                    for (int i = 0; i < n / 2; i++) {
                        swap(b[i], b[n - i - 1]);
                    }
                } else if (i == 1) {
                    for (int i = 0; i < n; i++) {
                        b[i] = n - b[i] + 1;
                    }
                } else {
                    vector<int> c(n);
                    for (int i = 0; i < n; i++) {
                        c[b[i] - 1] = i + 1;
                    }
                    b = c;
                }
            }
        }
        for (int i = 0; i < n; i++) {
            ans[mask] += cc(b[i], i + 1);
            if (ans[mask] >= mod) ans[mask] -= mod;
        }
    }
    int cu = 0;
    for (int i = 0; i < q; i++) {
        int t;
        cin >> t;
        cu ^= 1 << (t - 1);
        cout << ans[cu] << " ";
    }
}