#include <bits/stdc++.h>
using namespace std;
const long long BIG = 1000000000000000000LL;
void solve();
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  solve();
  return 0;
}
const long long MOD = 998244353;
struct ModInt {
  long long x;
  ModInt() : x(0) {}
  ModInt(long long u) : x(u) {}
  ModInt(const ModInt &m) : x(m.x) {}
  void operator=(ModInt m) { x = m.x; }
  void operator+=(ModInt m) {
    x += m.x;
    if (x >= MOD) x -= MOD;
  }
  void operator-=(ModInt m) {
    x -= m.x;
    if (x < 0) x += MOD;
  }
  void operator*=(ModInt m) { x = (x * m.x) % MOD; }
  ModInt operator+(ModInt m) {
    ModInt res(x);
    res += m;
    return res;
  }
  ModInt operator-(ModInt m) {
    ModInt res(x);
    res -= m;
    return res;
  }
  ModInt operator*(ModInt m) {
    ModInt res(x);
    res *= m;
    return res;
  }
};
ModInt fastpow(ModInt m, long long k) {
  if (k == 0) return ModInt(1LL);
  ModInt res = fastpow(m, k / 2);
  res *= res;
  if (k & 1) res *= m;
  return res;
}
ModInt inv(ModInt m) { return fastpow(m, MOD - 2); }
const ModInt inv100 = inv(ModInt(100));
const ModInt m0(0), m1(1);
const long long borne = 2 * (long long)(1e5) + 5;
ModInt prob[borne];
ModInt produit[borne];
ModInt invprod[borne];
ModInt sumprod[borne];
long long nbElem, nbReq;
inline ModInt getProd(long long i) {
  if (i >= 0)
    return produit[i];
  else
    return m1;
}
inline ModInt getSum(long long i) {
  if (i >= 0)
    return sumprod[i];
  else
    return m0;
}
ModInt calcStage(long long deb, long long fin) {
  --fin;
  if (fin < deb) return m0;
  ModInt haut = getSum(fin - 1) - getSum(deb - 2);
  if (deb - 1 < 0) haut += ModInt(1);
  ModInt bas = getProd(fin);
  return haut * inv(bas);
}
void solve() {
  cin >> nbElem >> nbReq;
  for (long long i = (0); i < (nbElem); ++i) {
    cin >> prob[i].x;
    prob[i] *= inv100;
    produit[i] = prob[i] * getProd(i - 1);
    invprod[i] = inv(produit[i]);
    sumprod[i] = produit[i] + getSum(i - 1);
  }
  set<long long> check;
  check.insert(0);
  check.insert(nbElem);
  ModInt rep = calcStage(0, nbElem);
  for (long long iReq = (0); iReq < (nbReq); ++iReq) {
    long long toggled;
    cin >> toggled;
    --toggled;
    auto it = check.lower_bound(toggled);
    if (*it == toggled) {
      auto itPrev = it;
      --itPrev;
      rep -= calcStage(*itPrev, *it);
      auto itSuiv = it;
      ++itSuiv;
      rep -= calcStage(*it, *itSuiv);
      rep += calcStage(*itPrev, *itSuiv);
      check.erase(it);
    } else {
      auto itSuiv = it, itPrev = it;
      --itPrev;
      rep -= calcStage(*itPrev, *itSuiv);
      rep += calcStage(*itPrev, toggled);
      rep += calcStage(toggled, *itSuiv);
      check.insert(toggled);
    }
    cout << rep.x << "\n";
  }
}
