#pragma GCC optimize("Ofast") #pragma GCC optimize(1) #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC target("popcnt") #include using namespace std; typedef long long ll; typedef string str; typedef pair pii; #define F first #define S second #define pb push_back #define pq priority_queue #define all(x) (x).begin(),(x).end() #define bug(x) cerr << (x) << '\n' #define yn(x) cout << (x==1?"Yes\n":"No\n") #define PI 3.14159265358979323 #define Ststone ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0) const ll max_n=2e5+20,max_int=2147483647,mod1=1e9+7,mod2=998244353; ll dx[8] = {1,0,0,-1,1,1,-1,-1}; ll dy[8] = {0,1,-1,0,1,-1,1,-1}; ll t,n,q,m,k,a,b,c,d,e,f,x,sum; map ans,knt; vector v,v1,v2; set se; char cc; void solve(){ ans[0] = 0; cin >> n; for(ll i=0;i> a; se.insert(a); knt[a] = knt[a]+1; ans[a] = (ans[a]+ans[a-1]+knt[a-1])%998244353; } ll cnt = 0; for(auto i:se){ cnt = (cnt+ans[i])%998244353; } cout << cnt; } int main(){ Ststone;/* #ifndef ONLINE_JUDGE freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); #else #endif*/ //cin >> t; t = 1; for(ll i=1;i<=t;i++){ //cout << "Case #"<