#include <bits/stdc++.h>
# define N 998244353
using namespace std;
long long n, k, p, ans;
long long a[100005];
long long add(long long n, long long k)
{
long long n1 = n + k;
long long ans1 = n * (n + 1) % N * (2 * n + 1) % N / 6;
long long ans2 = n1 * (n1 + 1) % N * (2 * n1 + 1) % N / 6;
return ans2 - ans1;
}
int main()
{
cin >> n >> k;
for(long long i = 1; i <= n; i++)
scanf("%lld", &a[i]);
for(long long i = 1; i <= n; i++)
if(a[i] + k >= abs(a[i] + 1))
{
p = i;
break;
}
for(long long i = 1; i < p; i++)
{
ans += (a[i] + 1) * (a[i] + 1) % N * k % N;
ans %= N;
}
int cnt = 2;
for(long long i = p; i <= n; i++)
{
if(cnt < k) cnt++;
ans += add(a[i] , k);
ans %= N;
}
cout << ans << endl;
return 0;
}