#include <bits/stdc++.h>
using namespace std;
const long long M = 998244353;
void extgcd(long long a, long long b, long long& x, long long& y) {
  if (b == 0) {
    x = 1, y = 0;
    return;
  }
  extgcd(b, a % b, x, y);
  long long t = x;
  x = y;
  y = t - (a / b) * y;
}
long long mod_inv(long long a) {
  long long x, y;
  extgcd(a, M, x, y);
  return (M + x % M) % M;
}
const int maxn = 2e5 + 99;
int n, q;
long long res = 0, mul[maxn], sum[maxn], p[maxn];
set<int> st;
void init_() {
  mul[0] = 1;
  for (int i = 1; i <= n; i++) mul[i] = mul[i - 1] * p[i] % M;
  for (int i = 1; i <= n; i++) sum[i] = (sum[i - 1] + mul[i]) % M;
  st.insert(1);
  st.insert(n + 1);
  res = ((mul[1 - 1] + sum[n - 1] - sum[1 - 1] + M) % M * mod_inv(mul[n]) % M);
}
int u;
void solve() {
  if (st.count(u)) {
    auto it = st.find(u);
    auto pit = it, qit = it;
    pit--;
    qit++;
    res -= ((mul[*pit - 1] + sum[*it - 1 - 1] - sum[*pit - 1] + M) % M *
            mod_inv(mul[*it - 1]) % M) +
           ((mul[*it - 1] + sum[*qit - 1 - 1] - sum[*it - 1] + M) % M *
            mod_inv(mul[*qit - 1]) % M);
    res += ((mul[*pit - 1] + sum[*qit - 1 - 1] - sum[*pit - 1] + M) % M *
            mod_inv(mul[*qit - 1]) % M);
    st.erase(u);
  } else {
    auto it = st.insert(u).first;
    auto pit = it, qit = it;
    pit--;
    qit++;
    res -= ((mul[*pit - 1] + sum[*qit - 1 - 1] - sum[*pit - 1] + M) % M *
            mod_inv(mul[*qit - 1]) % M);
    res += ((mul[*pit - 1] + sum[*it - 1 - 1] - sum[*pit - 1] + M) % M *
            mod_inv(mul[*it - 1]) % M) +
           ((mul[*it - 1] + sum[*qit - 1 - 1] - sum[*it - 1] + M) % M *
            mod_inv(mul[*qit - 1]) % M);
  }
  res %= M;
  if (res < 0) res += M;
  cout << res << '\n';
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  cin >> n >> q;
  long long x = mod_inv(100);
  for (int i = 1; i <= n; i++) cin >> p[i], p[i] = p[i] * x % M;
  init_();
  for (int i = 0; i < q; i++) {
    cin >> u;
    solve();
  }
  return 0;
}
