#include <stdio.h>
#include <stdlib.h>
#define MOD 998244353
int bp(int a, int b) {
if (! b) return 1;
int r = bp(a, b >> 1);
if ((b & 1)) return (long long)r * r % MOD * a % MOD;
return (long long)r * r % MOD;
}
#define A 45
#define N 250005
int inv[A], p[N], ip[N], a[N], n
, dp[N], mm[A], cc[A]
, cnt[N], cntby[A]
;
int main() {
scanf("%d", &n);
for (int i = 0; i < A; ++i)
inv[i] = bp(i, MOD - 2);
p[0] = ip[0] = 1;
for (int i = 1; i <= n; ++i) {
scanf("%d", a + i);
p[i] = (long long)p[i - 1] * a[i] % MOD;
ip[i] = (long long)ip[i - 1] * inv[a[i]] % MOD;
}
cnt[0] = 1;
for (int i = 1; i <= n; ++i) {
cntby[a[i]] = (cntby[a[i]] + cnt[i - 1]) % MOD;
mm[a[i]] = (mm[a[i]] + (long long)ip[i - 1] * cnt[i - 1] % MOD) % MOD;
cc[a[i]] = (cc[a[i]] + dp[i - 1]) % MOD;
dp[i] = ((long long)mm[a[i]] * p[i] % MOD + cc[a[i]]) % MOD;
cnt[i] = cntby[a[i]];
}
printf("%d\n", dp[n]);
return 0;
}
CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkbGliLmg+CgojZGVmaW5lIE1PRCA5OTgyNDQzNTMKCmludCBicChpbnQgYSwgaW50IGIpIHsKCWlmICghIGIpIHJldHVybiAxOwoJaW50IHIgPSBicChhLCBiID4+IDEpOwoJaWYgKChiICYgMSkpIHJldHVybiAobG9uZyBsb25nKXIgKiByICUgTU9EICogYSAlIE1PRDsKCXJldHVybiAobG9uZyBsb25nKXIgKiByICUgTU9EOwp9CgojZGVmaW5lIEEgNDUKI2RlZmluZSBOIDI1MDAwNQoKaW50IGludltBXSwgcFtOXSwgaXBbTl0sIGFbTl0sIG4KCSwgZHBbTl0sIG1tW0FdLCBjY1tBXQoJLCBjbnRbTl0sIGNudGJ5W0FdCgk7CgppbnQgbWFpbigpIHsKCXNjYW5mKCIlZCIsICZuKTsKCWZvciAoaW50IGkgPSAwOyBpIDwgQTsgKytpKQoJCWludltpXSA9IGJwKGksIE1PRCAtIDIpOwoJcFswXSA9IGlwWzBdID0gMTsKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgewoJCXNjYW5mKCIlZCIsIGEgKyBpKTsKCQlwW2ldID0gKGxvbmcgbG9uZylwW2kgLSAxXSAqIGFbaV0gJSBNT0Q7CgkJaXBbaV0gPSAobG9uZyBsb25nKWlwW2kgLSAxXSAqIGludlthW2ldXSAlIE1PRDsKCX0KCgljbnRbMF0gPSAxOwoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgKytpKSB7CgkJY250YnlbYVtpXV0gPSAoY250YnlbYVtpXV0gKyBjbnRbaSAtIDFdKSAlIE1PRDsKCQltbVthW2ldXSA9IChtbVthW2ldXSArIChsb25nIGxvbmcpaXBbaSAtIDFdICogY250W2kgLSAxXSAlIE1PRCkgJSBNT0Q7CgkJY2NbYVtpXV0gPSAoY2NbYVtpXV0gKyBkcFtpIC0gMV0pICUgTU9EOwoJCWRwW2ldID0gKChsb25nIGxvbmcpbW1bYVtpXV0gKiBwW2ldICUgTU9EICsgY2NbYVtpXV0pICUgTU9EOwoJCWNudFtpXSA9IGNudGJ5W2FbaV1dOwoJfQoJcHJpbnRmKCIlZFxuIiwgZHBbbl0pOwoKCXJldHVybiAwOwp9Cgo=