#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:36777216")
using namespace std;
long long mod = 998244353;
long long inf = 1e9;
long double eps = 1e-7;
long double pi = acosl(-1);
ifstream in("input.txt");
ofstream out("output.txt");
pair<long long, long long> tree[800020];
long long bpow(long long a, long long b) {
  long long q = 1;
  long long p = a;
  while (b) {
    if (b & 1) {
      q = q * p % mod;
    }
    p = p * p % mod;
    b >>= 1;
  }
  return q;
}
long long inv(long long a) { return bpow(a, mod - 2); }
vector<long long> p;
pair<long long, long long> merge(pair<long long, long long> a,
                                 pair<long long, long long> b) {
  return {(a.first + b.first * a.second) % mod, a.second * b.second % mod};
}
void build(int v, int l, int r) {
  if (l == r)
    tree[v] = {1, p[l]};
  else {
    int m = (r + l) / 2;
    build(v * 2, l, m);
    build(v * 2 + 1, m + 1, r);
    tree[v] = merge(tree[v * 2], tree[v * 2 + 1]);
  }
}
pair<long long, long long> get(int v, int l, int r, int tl, int tr) {
  if (r < l) return {0, 1};
  if (tl == l && tr == r) return tree[v];
  int tm = (tl + tr) / 2;
  return merge(get(v * 2, l, min(r, tm), tl, tm),
               get(v * 2 + 1, max(l, tm + 1), r, tm + 1, tr));
}
int n, q;
long long query(int l, int r) {
  auto a = get(1, l, r, 0, n - 1);
  return a.first * inv(a.second) % mod;
}
int main() {
  scanf("%d %d", &n, &q);
  long long inv1 = inv(100);
  for (int i = 0; i < n; i++) {
    int t;
    scanf("%d", &t);
    p.push_back(t * inv1 % mod);
  }
  set<int> inq;
  inq.insert(0);
  inq.insert(n);
  build(1, 0, n - 1);
  long long ans = query(0, n - 1);
  for (int i = 0; i < q; i++) {
    int v;
    scanf("%d", &v);
    v--;
    if (inq.find(v) != inq.end()) {
      auto v1 = inq.find(v);
      auto v2 = v1;
      v1--;
      v2++;
      inq.erase(v);
      ans += query(*v1, *v2 - 1);
      ans -= query(*v1, v - 1);
      ans -= query(v, *v2 - 1);
    } else {
      auto v1 = inq.lower_bound(v);
      auto v2 = v1;
      v1--;
      inq.insert(v);
      ans -= query(*v1, *v2 - 1);
      ans += query(*v1, v - 1);
      ans += query(v, *v2 - 1);
    }
    ans %= mod;
    if (ans < 0) ans += mod;
    printf("%d\n", ans);
  }
  return 0;
}
