func_code_string: #include <bits/stdc++.h>   using namespace std;   template <class T>   using vc = vector<T>;   template <class T>   using vvc = vc<vc<T>>;   template <class T>   void mkuni(vector<T>& v) {     sort(v.begin(), v.end());     v.erase(unique(v.begin(), v.end()), v.end());   }   template <class T>   void print(T x, int suc = 1) {     cout << x;     if (suc == 1)       cout <<   n ;     else       cout <<    ;   }   template <class T>   void print(const vector<T>& v, int suc = 1) {     for (int i = 0; i < v.size(); i++)       print(v[i], i == (int)(v.size()) - 1 ? suc : 2);   }   const int INF = 0x3f3f3f3f;   const int maxn = 2e5 + 7;   const int mod = 998244353;   long long quick(long long a, long long b) {     long long ret = 1;     while (b) {       if (b & 1) ret = ret * a % mod;       a = a * a % mod;       b >>= 1;     }     return ret;   }   long long inv(long long a) { return quick(a, mod - 2); }   long long sufm[maxn], sufsum[maxn];   int p[maxn];   long long calc(int l, int r) {     long long ret = sufsum[l] - sufsum[r];     ret = (ret + mod) % mod;     ret = ret * inv(sufm[r]) % mod;     return ret;   }   int main() {     std::ios::sync_with_stdio(false);     cin.tie(nullptr);     int n;     cin >> n;     for (int i = 1; i <= n; i++) cin >> p[i];     sufm[n + 1] = 1;     for (int i = n; i >= 1; i--) {       sufm[i] = sufm[i + 1] * (100 * inv(p[i]) % mod) % mod;       sufsum[i] = (sufsum[i + 1] + sufm[i]) % mod;     }     long long ans = sufsum[1];     cout << ans << endl;   }   