#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n, k;
  cin >> n >> k;
  vector<bool> x(n + 1, 0);
  vector<pair<long long int, long long int>> y;
  for (int i = 0; i < k; i++) {
    long long int a, b;
    cin >> a >> b;
    pair<long long int, long long int> t(a, b);
    y.push_back(t);
  }
  sort(y.begin(), y.end());
  long long int m = 0;
  vector<bool> w(n + 1, 0);
  vector<long long int> q;
  for (int i = 0; i < y.size(); i++) {
    if (y[i].second > m) {
      long long int p = max(m, y[i].first);
      for (int j = p; j <= y[i].second; j++) {
        q.push_back(j);
      }
      m = y[i].second;
    }
  }
  vector<long long int> dp(n + 1, 0);
  dp[0] = 1;
  for (int i = 1; i < n + 1; i++) {
    for (int j = 0; j < q.size(); j++) {
      if (i - q[j] >= 0) {
        dp[i] = ((dp[i] % 998244353) + (dp[i - q[j]]) % 998244353) % 998244353;
      }
    }
  }
  cout << dp[n - 1];
}
