#include #include using namespace std; using ll = long long; using mint = atcoder::modint998244353; #define rep(i, n) for (int i = 0; i < (int)(n); i++) void solve() { ll m, n; cin >> m >> n; mint i2 = mint(2).inv(), i3 = mint(3).inv(); auto f = [&](mint x) -> mint { return x * x * x * i3 + x * x * i2 + x * i2 * i3; }; mint ans = 0; ll p = 0; rep(ni, n) { ll x; cin >> x; ans += f(mint(x - p - 1)); p = x; } ans += f(mint(m + 1 - p - 1)); cout << ans.val() << '\n'; } int main() { std::cin.tie(nullptr); std::ios_base::sync_with_stdio(false); int T = 1; for (int t = 0; t < T; t++) { solve(); } return 0; }