func_code_string: #include <bits/stdc++.h>   using namespace std;   const int Mod = 998244353;   int add(int a, int b) { return a + b >= Mod ? a + b - Mod : a + b; }   int dec(int a, int b) { return a - b < 0 ? a - b + Mod : a - b; }   int mul(int a, int b) { return 1ll * a * b % Mod; }   void Add(int &a, int b) { a = add(a, b); }   void Dec(int &a, int b) { a = dec(a, b); }   void Mul(int &a, int b) { a = mul(a, b); }   int ksm(int a, int b) {     int ans = 1;     for (; b; b >>= 1, Mul(a, a))       if (b & 1) Mul(ans, a);     return ans;   }   const int N = 2e5 + 50;   int n, q, ans, p[N];   int sm[N], mt[N];   set<int> S;   int calc(int l, int r) {     int iv = ksm(mt[l - 1], Mod - 2);     int y = mul(mt[r - 1], iv);     int x = 1 + mul(iv, dec(sm[r - 2], sm[l - 1]));     return mul(x, ksm(y, Mod - 2));   }   void era(int x) {     auto r = S.find(x), l = r;     --l, Dec(ans, calc(*l, x));     ++r, Dec(ans, calc(x, *r));     Add(ans, calc(*l, *r));     S.erase(x);   }   void ins(int x) {     auto r = S.insert(x).first, l = r;     --l, Add(ans, calc(*l, x));     ++r, Add(ans, calc(x, *r));     Dec(ans, calc(*l, *r));   }   int main() {     cin >> n >> q;     S.insert(1);     S.insert(n + 1);     int iv = ksm(100, Mod - 2);     for (int i = 1; i <= n; i++) scanf( %d , &p[i]), Mul(p[i], iv);     mt[0] = 1;     for (int i = 1; i <= n; i++)       mt[i] = mul(mt[i - 1], p[i]), sm[i] = add(sm[i - 1], mt[i]);     ans = calc(1, n + 1);     for (int i = 1, x; i <= q; i++) {       scanf( %d , &x);       if (S.find(x) != S.end())         era(x);       else         ins(x);       cout << ans <<   n ;     }     return 0;   }   