#include <bits/stdc++.h>
using namespace std;
long long mod = 998244353;
int main() {
  int t = 1;
  while (t--) {
    long long n, k, i, j;
    cin >> n >> k;
    unordered_set<long long> s;
    j = 0;
    long long v[200006];
    for (i = 0; i < k; i++) {
      long long a, b;
      cin >> a >> b;
      for (int l = a; l <= b; l++) {
        if (!s.count(l)) {
          s.insert(l);
          v[j] = l;
          j++;
        }
      }
    }
    long long sz = j;
    long long dp[n + 1];
    memset(dp, 0, sizeof(dp));
    dp[0] = 1;
    for (i = 0; i < n; i++) {
      for (j = 0; j < sz; j++) {
        if (v[j] <= i) {
          dp[i] += dp[i - v[j]] % mod;
        }
      }
    }
    cout << dp[n - 1] % mod << endl;
  }
}
