#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 4000000000000000001 int n; vector a; vector> ps(1000001); vector dp; vector sum; int main(){ cin>>n; a.resize(n); rep(i,n)scanf("%d",&a[i]); for(int i=2;i>k)&1)cur *= ps[a[i]][k]; } mint v = sum[cur]; if(__builtin_popcount(j)%2==0)v *= -1; dp[i] += v; //if(i==3)cout<>k)&1)cur *= ps[a[i]][k]; } sum[cur] += dp[i]; } } mint ans = 0; rep(i,n){ ans += dp[i]; // cout<