#include <bits/stdc++.h>
using namespace std;
int N, M, p[200001], mul[200001], sum[200001], ans;
bool is[200001];
set<int> s;
int pow(int a, int b) {
  int ans = 1;
  while (b)
    b& 1 ? ans = 1ll * ans * a % 998244353 : 0, a = 1ll * a * a % 998244353,
           b >>= 1;
  return ans;
}
int calc(int l, int r) {
  return 1ll * (0ll + mul[l - 1] + sum[r - 2] - sum[l - 1] + 998244353) *
         pow(mul[r - 1], 998244353 - 2) % 998244353;
}
int main() {
  cin >> N >> M;
  for (int i = 1; i <= N; i++)
    cin >> p[i], p[i] = 1ll * p[i] * pow(100, 998244353 - 2) % 998244353;
  mul[0] = 1;
  for (int i = 1; i <= N; i++)
    mul[i] = 1ll * mul[i - 1] * p[i] % 998244353,
    sum[i] = (sum[i - 1] + mul[i]) % 998244353;
  is[1] = 1;
  s.insert(1);
  s.insert(N + 1);
  ans = calc(1, N + 1);
  for (int i = 1; i <= M; i++) {
    int x;
    cin >> x;
    if (is[x]) {
      int l = *(--s.lower_bound(x)), r = *s.upper_bound(x);
      ans = (ans - calc(l, x) - calc(x, r) + calc(l, r) + 0ll + 998244353 +
             998244353) %
            998244353;
      s.erase(x);
      is[x] = 0;
    } else {
      int l = *(--s.lower_bound(x)), r = *s.upper_bound(x);
      ans = (ans + 0ll + calc(l, x) + calc(x, r) - calc(l, r) + 998244353) %
            998244353;
      s.insert(x);
      is[x] = 1;
    }
    cout << ans << endl;
  }
  return 0;
}
