#include #include //cin/cout #include //cout string #include #include #include using namespace atcoder;//modint using namespace std; using llong = long long; const llong INF = 1LL << 60; //const int INF = 1LL << 30; using mint = modint998244353; ///////////////////ここまでtoolbox///////////////////////////////////// //★2で問題文が平易だったので初参加 //提出システムがatcoderlibを使えるのかがわからなくて他人の提出を覗いたりした int main() { llong M, N; cin >> M >> N; mint i = 0; mint ans = 0; for (int n = 0; n < N; n++) { llong X; cin >> X; //X-1 - iコンボ mint Si = (X - 1LL) - i; ans += Si * (Si + 1LL) * (Si * 2LL + 1LL) / 6LL;//わからんくて検索したべた... i = X; } mint Si = M - i;//ゴールまでのコンボ ans += Si * (Si + 1LL) * (Si * 2LL + 1LL) / 6LL; cout << ans.val() << endl; return 0; }