#include <bits/stdc++.h>

#include <atcoder/modint>
#include <iostream>
#include <vector>

using namespace std;
using namespace atcoder;
using ll = long long;
using mint = modint998244353;

int main() {
    int N, K;
    cin >> N >> K;

    vector<int> list;
    for (int i = 0; i < K; i++) {
        int l, r;
        cin >> l >> r;
        for (int j = l; j <= r; j++) {
            list.push_back(j);
        }
    }

    vector<mint> dp(N, 0);
    dp[0] = 1;

    for (int i = 0; i < N; i++) {
        for (int j = 0; j < list.size(); j++) {
            if (i - list[j] >= 0) {
                // cout << i << ":" << i - list[j] << endl;
                dp[i] += dp[i - list[j]].val();
            }
        }
    }
    // for (int i = 0; i < N; i++) {
    // cout << dp[i].val() << endl;
    // }

    cout << dp[N - 1].val() << endl;

    return 0;
}
