#include using namespace std; using ll=long long; constexpr int MOD=998244353; #define rep(i,n) for(int i=0;i<(int)(n);i++) #define replr(i,l,r) for(int i=(l);i<(int)(r);i++) namespace Lib{ struct mod_fac{ vector fac,inv,invf; mod_fac (int n): fac(n),inv(n),invf(n){ fac[0]=fac[1]=1; inv[0]=inv[1]=1; invf[0]=invf[1]=1; for(int i=2;i>N; vector A(N,0); for(int &i:A)cin>>i; A.push_back(0); ll ans=0,x=A[0]; Lib::mod_fac F(300000); for(int i=0;i<=N;i++){ if(x==A[i]){ ch(ans,F.comb(x+i-1,i)); continue; } while(x>A[i]){ x-=1; if(x==A[i])ch(ans,F.comb(x+i,i)); else ch(ans,F.comb(x+i-1,i-1)); } } cout<