#include <bits/stdc++.h>
using namespace std;
const int Mod = 998244353;
int add(int a, int b) { return a + b >= Mod ? a + b - Mod : a + b; }
int dec(int a, int b) { return a - b < 0 ? a - b + Mod : a - b; }
int mul(int a, int b) { return 1ll * a * b % Mod; }
void Add(int &a, int b) { a = add(a, b); }
void Dec(int &a, int b) { a = dec(a, b); }
void Mul(int &a, int b) { a = mul(a, b); }
int ksm(int a, int b) {
  int ans = 1;
  for (; b; b >>= 1, Mul(a, a))
    if (b & 1) Mul(ans, a);
  return ans;
}
const int N = 2e5 + 50;
int n, q, ans, p[N];
int sm[N], mt[N];
set<int> S;
int calc(int l, int r) {
  int iv = ksm(mt[l - 1], Mod - 2);
  int y = mul(mt[r - 1], iv);
  int x = 1 + mul(iv, dec(sm[r - 2], sm[l - 1]));
  return mul(x, ksm(y, Mod - 2));
}
void era(int x) {
  auto r = S.find(x), l = r;
  --l, Dec(ans, calc(*l, x));
  ++r, Dec(ans, calc(x, *r));
  Add(ans, calc(*l, *r));
  S.erase(x);
}
void ins(int x) {
  auto r = S.insert(x).first, l = r;
  --l, Add(ans, calc(*l, x));
  ++r, Add(ans, calc(x, *r));
  Dec(ans, calc(*l, *r));
}
int main() {
  cin >> n >> q;
  S.insert(1);
  S.insert(n + 1);
  int iv = ksm(100, Mod - 2);
  for (int i = 1; i <= n; i++) scanf("%d", &p[i]), Mul(p[i], iv);
  mt[0] = 1;
  for (int i = 1; i <= n; i++)
    mt[i] = mul(mt[i - 1], p[i]), sm[i] = add(sm[i - 1], mt[i]);
  ans = calc(1, n + 1);
  for (int i = 1, x; i <= q; i++) {
    scanf("%d", &x);
    if (S.find(x) != S.end())
      era(x);
    else
      ins(x);
    cout << ans << '\n';
  }
  return 0;
}
