#include <bits/stdc++.h>
using namespace std;
long long mod = 1000000007;
long long mod2 = 998244353;
long long mod3 = 1000003;
long long mod4 = 998244853;
long long inf = 1000000000;
double pi = 2 * acos(0);
int dh[4] = {1, -1, 0, 0};
int dw[4] = {0, 0, 1, -1};
int ddh[8] = {-1, -1, -1, 0, 0, 1, 1, 1};
int ddw[8] = {-1, 0, 1, -1, 1, -1, 0, 1};
long long lmax(long long a, long long b) {
  if (a < b)
    return b;
  else
    return a;
}
long long lmin(long long a, long long b) {
  if (a < b)
    return a;
  else
    return b;
}
long long gcd(long long a, long long b) {
  if (a < b) swap(a, b);
  if (b == 0) return a;
  if (a % b == 0) return b;
  return gcd(b, a % b);
}
long long Pow(long long n, long long k) {
  long long ret = 1;
  long long now = n;
  while (k > 0) {
    if (k & 1) ret *= now;
    now *= now;
    k /= 2;
  }
  return ret;
}
long long beki(long long n, long long k, long long md) {
  long long ret = 1;
  long long now = n;
  while (k > 0) {
    if (k % 2 == 1) {
      ret *= now;
      ret %= md;
    }
    now *= now;
    now %= md;
    k /= 2;
  }
  return ret;
}
long long gyaku(long long n, long long md) { return beki(n, md - 2, md); }
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n, q;
  cin >> n >> q;
  long long p[n];
  for (long long i = 0; i < n; i++) cin >> p[i];
  long long sum[n + 1];
  long long mul[n + 1];
  sum[0] = 0;
  mul[0] = 1;
  long long mm[n + 1];
  mm[0] = 1;
  long long pp[n + 1];
  pp[0] = 1;
  for (long long i = 0; i < n; i++) {
    long long u = p[i] * gyaku(100, mod2);
    u %= mod2;
    sum[i + 1] = (sum[i] + u * pp[i]) % mod2;
    pp[i + 1] = (pp[i] * u) % mod2;
    mm[i + 1] = (mm[i] * u) % mod2;
    long long uu = gyaku(u, mod2);
    mul[i + 1] = (mul[i] * uu) % mod2;
  }
  long long now = (mul[n] * (sum[n - 1] + 1)) % mod2;
  now %= mod2;
  int c[n + 1];
  fill(c, c + n + 1, 0);
  c[1] = 1;
  set<long long> st;
  st.insert(1);
  st.insert(n + 1);
  for (long long i = 0; i < q; i++) {
    long long t;
    cin >> t;
    if (c[t] == 0) {
      auto itr = st.lower_bound(t);
      long long f = *itr;
      itr--;
      long long g = *itr;
      long long e = (mul[f - 1] * mm[g - 1]) % mod2;
      long long ee = 0;
      ee += sum[f - 2] - sum[g - 1] + mod2;
      ee %= mod2;
      ee *= gyaku(pp[g - 1], mod2);
      ee++;
      ee %= mod2;
      now -= (ee * e) % mod2;
      now += mod2;
      now %= mod2;
      e = (mul[t - 1] * mm[g - 1]) % mod2;
      ee = 0;
      ee += sum[t - 2] - sum[g - 1] + mod2;
      ee %= mod2;
      ee *= gyaku(pp[g - 1], mod2);
      ee++;
      ee %= mod2;
      now += (ee * e) % mod2;
      now %= mod2;
      e = (mul[f - 1] * mm[t - 1]) % mod2;
      ee = 0;
      ee += sum[f - 2] - sum[t - 1] + mod2;
      ee %= mod2;
      ee *= gyaku(pp[t - 1], mod2);
      ee %= mod2;
      ee++;
      ee %= mod2;
      now += (ee * e) % mod2;
      now %= mod2;
      st.insert(t);
      c[t] = 1;
    } else {
      auto itr = st.lower_bound(t);
      itr++;
      long long f = *itr;
      itr--;
      itr--;
      long long g = *itr;
      long long e = (mul[f - 1] * mm[g - 1]) % mod2;
      long long ee = 0;
      ee += sum[f - 2] - sum[g - 1] + mod2;
      ee %= mod2;
      ee *= gyaku(pp[g - 1], mod2);
      ee++;
      ee %= mod2;
      now += (ee * e) % mod2;
      now += mod2;
      now %= mod2;
      e = (mul[t - 1] * mm[g - 1]) % mod2;
      ee = 0;
      ee += sum[t - 2] - sum[g - 1] + mod2;
      ee %= mod2;
      ee *= gyaku(pp[g - 1], mod2);
      ee++;
      ee %= mod2;
      now -= (ee * e) % mod2;
      now += mod2;
      now %= mod2;
      e = (mul[f - 1] * mm[t - 1]) % mod2;
      ee = 0;
      ee += sum[f - 2] - sum[t - 1] + mod2;
      ee %= mod2;
      ee *= gyaku(pp[t - 1], mod2);
      ee++;
      ee %= mod2;
      now -= (ee * e) % mod2;
      now += mod2;
      now %= mod2;
      now %= mod2;
      st.erase(t);
      c[t] = 0;
    }
    cout << now << endl;
  }
}
