#include <bits/stdc++.h>
using namespace std;
const int inf = numeric_limits<int>::max();
const long long int linf = numeric_limits<long long int>::max();
const long long int MOD = 998244353;
long long int fast_mod(long long int abcd, long long int expp) {
  long long int res = 1;
  while (expp > 0) {
    if (expp % 2 == 1) res = (res * abcd) % MOD;
    abcd = (abcd * abcd) % MOD;
    expp /= 2;
  }
  return res % MOD;
}
long long int gcd(long long int a, long long int b) {
  long long int temppp = max(a, b);
  b = min(a, b);
  a = temppp;
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long int ccw(pair<int, int> a, pair<int, int> b) {
  return 1LL * a.first * b.second - 1LL * b.first * a.second;
}
bool ccwsort(const pair<int, int> &a, const pair<int, int> &b) {
  bool bh1 = a < pair<int, int>(0, 0);
  bool bh2 = b < pair<int, int>(0, 0);
  if (bh1 != bh2) return bh1 < bh2;
  return ccw(a, b) > 0;
}
long long int n, q;
long long int prev_ans;
long long int p[200001];
long long int probability[200001];
long long int dp[200001];
long long int product_query(int l, int r) {
  long long int temp = probability[r];
  temp *= fast_mod(probability[l - 1], MOD - 2);
  temp %= MOD;
  return temp;
}
long long int exp_query(int l, int r) {
  long long int sub = dp[l - 1];
  long long int prod = product_query(l, r);
  sub *= fast_mod(prod, MOD - 2);
  sub %= MOD;
  return dp[r] - sub;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> n >> q;
  for (int i = 0; i < (n); ++i) cin >> p[i];
  long long int huninv = fast_mod(100, MOD - 2);
  probability[0] = 1;
  for (int i = 0; i < (n); ++i) {
    probability[i + 1] = probability[i] * p[i];
    probability[i + 1] %= MOD;
    probability[i + 1] *= huninv;
    probability[i + 1] %= MOD;
  }
  dp[0] = 0;
  for (int i = 1; i < n + 1; i++) {
    dp[i] = (dp[i - 1] + 1) * fast_mod(p[i - 1], MOD - 2);
    dp[i] %= MOD;
    dp[i] *= 100;
    dp[i] %= MOD;
  }
  prev_ans = dp[n] % MOD;
  set<int> st;
  st.insert(1);
  st.insert(n + 1);
  int u;
  for (int i = 0; i < (q); ++i) {
    cin >> u;
    auto it = st.find(u);
    if (it != st.end()) {
      st.erase(it);
      auto it1 = st.lower_bound(u);
      it1--;
      auto it2 = st.upper_bound(u);
      long long int l = *it1;
      long long int r = *it2;
      r--;
      long long int expval = exp_query(l, u - 1);
      long long int prod = product_query(u, r);
      long long int total = expval * fast_mod(prod, MOD - 2);
      total %= MOD;
      total -= expval;
      total %= MOD;
      total = (total + MOD) % MOD;
      prev_ans += total;
      prev_ans %= MOD;
      cout << prev_ans << "\n";
    } else {
      auto it1 = st.lower_bound(u);
      it1--;
      auto it2 = st.upper_bound(u);
      long long int l = *it1;
      long long int r = *it2;
      r--;
      long long int exp1 = exp_query(l, u - 1);
      long long int exp2 = exp_query(u, r);
      long long int exp3 = exp_query(l, r);
      prev_ans += exp1 + exp2 - exp3;
      prev_ans %= MOD;
      prev_ans = (prev_ans + MOD) % MOD;
      cout << prev_ans << "\n";
      st.insert(u);
    }
  }
  return 0;
}
