Description:

CodeForces1265E Beautiful Mirrors(dp)_iosCreatnx has n mirrors, numbered from CodeForces1265E Beautiful Mirrors(dp)_#include_02 to CodeForces1265E Beautiful Mirrors(dp)_ios_03. Every day, Creatnx asks exactly one mirror “Am I beautiful?”. The CodeForces1265E Beautiful Mirrors(dp)_#define_04 mirror will tell Creatnx that he is beautiful with probability CodeForces1265E Beautiful Mirrors(dp)_#include_05 for all CodeForces1265E Beautiful Mirrors(dp)_#include_06

CodeForces1265E Beautiful Mirrors(dp)_iosCreatnx asks the mirrors one by one, starting from the CodeForces1265E Beautiful Mirrors(dp)_ios_08 mirror. Every day, if he asks CodeForces1265E Beautiful Mirrors(dp)_#define_04

  • The CodeForces1265E Beautiful Mirrors(dp)_#include_10 mirror tells Creatnx that he is beautiful. In this case, if
    CodeForces1265E Beautiful Mirrors(dp)_#define_11 Creatnx will stop and become happy, otherwise he will continue
    asking the CodeForces1265E Beautiful Mirrors(dp)_#include_12
  • In the other case, Creatnx will feel upset. The next day, Creatnx
    will start asking from the CodeForces1265E Beautiful Mirrors(dp)_ios_13 mirror again. You need to calculate
    the expected number of days until Creatnx becomes happy.

CodeForces1265E Beautiful Mirrors(dp)_iosThis number should be found by modulo CodeForces1265E Beautiful Mirrors(dp)_#define_15. Formally, let CodeForces1265E Beautiful Mirrors(dp)_#include_16 It can be shown that the answer can be expressed as an irreducible fraction pq, where p and q are integers and CodeForces1265E Beautiful Mirrors(dp)_#include_17 Output the integer equal to CodeForces1265E Beautiful Mirrors(dp)_#include_18modCodeForces1265E Beautiful Mirrors(dp)_#define_19. In other words, output such an integer CodeForces1265E Beautiful Mirrors(dp)_ios_20 that CodeForces1265E Beautiful Mirrors(dp)_#include_21 and CodeForces1265E Beautiful Mirrors(dp)_#include_22

Input

The first line contains one integer CodeForces1265E Beautiful Mirrors(dp)_ios_23

The second line contains n integers CodeForces1265E Beautiful Mirrors(dp)_#define_24

Output

Print the answer modulo CodeForces1265E Beautiful Mirrors(dp)_#define_15

Examples

input

1
50

output

2

input

3
10 20 50

output

112

Note

CodeForces1265E Beautiful Mirrors(dp)_iosIn the first test, there is only one mirror and it tells, that Creatnx is beautiful with probability CodeForces1265E Beautiful Mirrors(dp)_ios_27. So, the expected number of days until Creatnx becomes happy is CodeForces1265E Beautiful Mirrors(dp)_ios_28

**题意:**有n面镜子没面镜子都有说美丽或者不美丽的概率,如果中间的镜子问到是不美丽就要从头开始,求问到最后一面镜子是美丽需要用多少天。
CodeForces1265E Beautiful Mirrors(dp)_ios_29为到第CodeForces1265E Beautiful Mirrors(dp)_ios_30面镜子所用的时间。

CodeForces1265E Beautiful Mirrors(dp)_ios_31快乐+CodeForces1265E Beautiful Mirrors(dp)_#define_32沮丧

沮丧的时候直接到达这一天花费是CodeForces1265E Beautiful Mirrors(dp)_#define_33,天
若重新回到这一天的话就是CodeForces1265E Beautiful Mirrors(dp)_ios_29

AC代码:

#include <cstdio>
#include <vector>
#include <queue>
#include <cstring>
#include <cmath>
#include <map>
#include <set>
#include <string>
#include <iostream>
#include <algorithm>
#include <iomanip>
#include <stack>
#include <queue>
using namespace std;
#define sd(n) scanf("%d",&n)
#define sdd(n,m) scanf("%d%d",&n,&m)
#define sddd(n,m,k) scanf("%d%d%d",&n,&m,&k)
#define pd(n) printf("%d\n", n)
#define pc(n) printf("%c", n)
#define pdd(n,m) printf("%d %d", n, m)
#define pld(n) printf("%lld\n", n)
#define pldd(n,m) printf("%lld %lld\n", n, m)
#define sld(n) scanf("%lld",&n)
#define sldd(n,m) scanf("%lld%lld",&n,&m)
#define slddd(n,m,k) scanf("%lld%lld%lld",&n,&m,&k)
#define sf(n) scanf("%lf",&n)
#define sc(n) scanf("%c",&n)
#define sff(n,m) scanf("%lf%lf",&n,&m)
#define sfff(n,m,k) scanf("%lf%lf%lf",&n,&m,&k)
#define ss(str) scanf("%s",str)
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,a,n) for(int i=n;i>=a;i--)
#define mem(a,n) memset(a, n, sizeof(a))
#define debug(x) cout << #x << ": " << x << endl
#define pb push_back
#define all(x) (x).begin(),(x).end()
#define fi first
#define se second
#define mod(x) ((x)%MOD)
#define gcd(a,b) __gcd(a,b)
#define lowbit(x) (x&-x)
typedef pair<int,int> PII;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
const int MOD = 1e9 + 7;
const double eps = 1e-9;
const ll INF = 0x3f3f3f3f3f3f3f3fll;
const int inf = 0x3f3f3f3f;
inline int read()
{
int ret = 0, sgn = 1;
char ch = getchar();
while(ch < '0' || ch > '9')
{
if(ch == '-')
sgn = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9')
{
ret = ret*10 + ch - '0';
ch = getchar();
}
return ret*sgn;
}
inline void Out(int a) //Êä³öÍâ¹Ò
{
if(a>9)
Out(a/10);
putchar(a%10+'0');
}

ll gcd(ll a,ll b)
{
return b==0?a : gcd(b,a%b);
}

ll lcm(ll a,ll b)
{
return a*b/gcd(a,b);
}
///快速幂m^k%mod
ll qpow(int m, int k, int mod)
{
ll res=1, t=m;
while (k)
{
if(k&1)
res = res * t % mod;
t = t * t % mod;
k >>= 1;
}
return res;
}

// 快速幂求逆元
int Fermat(int a,int p)//费马求a关于b的逆元
{
return qpow(a,p-2,p);
}


///扩展欧几里得
int exgcd(int a,int b,int &x,int &y)
{
if(b==0)
{
x=1;
y=0;
return a;
}
int g=exgcd(b,a%b,x,y);
int t=x;
x=y;
y=t-a/b*y;
return g;
}

///使用ecgcd求a的逆元x
int mod_reverse(int a,int p)
{
int d,x,y;
d=exgcd(a,p,x,y);
if(d==1)
return (x%p+p)%p;
else
return -1;
}

///中国剩余定理模板
ll china(int a[],int b[],int n)//a[]为除数,b[]为余数
{
int M=1,y,x=0;
for(int i=0; i<n; ++i) //算出它们累乘的结果
M*=a[i];
for(int i=0; i<n; ++i)
{
int w=M/a[i];
int tx=0;
int t=exgcd(w,a[i],tx,y);//计算逆元
x=(x+w*(b[i]/t)*x)%M;
}
return (x+M)%M;
}

int n,m;
int i,j,k;
int t;
const int N=2e5+10,mod=998244353;
ll dp[N],p[N];
int main()
{
cin>>n;
for(int i=1; i<=n; i++)
scanf("%d",&p[i]);
for(int i=1; i<=n; i++)
dp[i]=(dp[i-1]+1)*100%mod*Fermat(p[i],mod)%mod;
cout<<dp[n]<<endl;
return 0;
}