#include <bits/stdc++.h>
using namespace std;
const long long max_n = 200011, inf = 1000111222;
const int mod = 998244353;
int mul(int a, int b) { return 1LL * a * b % mod; }
int power(int a, int b) {
  if (b == 0) return 1;
  int x = power(a, b / 2);
  if (b % 2 == 0) return mul(x, x);
  return mul(mul(x, x), a);
}
int sum(int a, int b) {
  int res = a + b;
  if (res >= mod) return res - mod;
  if (res < 0) return res + mod;
  return res;
}
struct tree {
  int m[max_n * 4];
  int f[max_n * 4];
  void build(int v, int tl, int tr, int a[]) {
    if (tl == tr) {
      m[v] = mul(100, power(a[tl], mod - 2));
      f[v] = mul(100, power(a[tl], mod - 2));
      return;
    }
    int mid = (tl + tr) / 2;
    build(v * 2, tl, mid, a);
    build(v * 2 + 1, mid + 1, tr, a);
    m[v] = mul(m[v * 2], m[v * 2 + 1]);
    f[v] = sum(f[v * 2 + 1], mul(f[v * 2], m[v * 2 + 1]));
  }
  pair<int, int> get(int v, int tl, int tr, int l, int r) {
    if (tl == l && tr == r) {
      return {f[v], m[v]};
    }
    int mid = (tl + tr) / 2;
    if (mid >= r) return get(v * 2, tl, mid, l, r);
    if (mid < l) return get(v * 2 + 1, mid + 1, tr, l, r);
    auto f1 = get(v * 2, tl, mid, l, mid);
    auto f2 = get(v * 2 + 1, mid + 1, tr, mid + 1, r);
    return {sum(mul(f1.first, f2.second), f2.first), mul(f1.second, f2.second)};
  }
};
int p[max_n], u[max_n], n, q;
tree t;
int f(int l, int r) { return t.get(1, 0, n - 1, l, r - 1).first; }
int get_segm(int l, int mid, int r) {
  return sum(sum(f(l, mid), f(mid, r)), -f(l, r));
}
int main() {
  cin >> n >> q;
  for (int i = 0; i < n; ++i) {
    scanf("%d", &p[i]);
  }
  t.build(1, 0, n - 1, p);
  int res = t.get(1, 0, n - 1, 0, n - 1).first;
  set<int> s;
  s.insert(0);
  s.insert(n);
  for (int i = 0; i < q; ++i) {
    int x;
    scanf("%d", &x);
    --x;
    if (s.find(x) != s.end()) {
      auto ff = s.find(x);
      auto gg = ff;
      --ff;
      ++gg;
      res = sum(res, -get_segm(*ff, x, *gg));
      s.erase(x);
    } else {
      auto gg = s.lower_bound(x);
      auto ff = gg;
      --ff;
      res = sum(res, get_segm(*ff, x, *gg));
      s.insert(x);
    }
    printf("%d\n", res);
  }
  return 0;
}
