#include <bits/stdc++.h>
using namespace std;
long long int n, k;
vector<long long int> all;
vector<long long int> dp;
int main(void) {
  cin >> n >> k;
  vector<pair<long long int, long long int>> hoge(n);
  for (long long int i = 0; i < k; i++) {
    cin >> hoge.at(i).first >> hoge.at(i).second;
    for (long long int j = hoge.at(i).first; j <= hoge.at(i).second; j++) {
      all.push_back(j);
    }
  }
  sort(all.begin(), all.end());
  dp = vector<long long int>(n, 0);
  dp.at(0) = 1;
  for (long long int i = 0; i < n; i++) {
    for (long long int j = 0; j < all.size(); j++) {
      long long int next = i + all.at(j);
      if (next >= n) {
        break;
      }
      dp.at(next) += dp.at(i);
      dp.at(next) %= 998244353;
    }
  }
  dp.at(n - 1) %= 998244353;
  cout << dp.at(n - 1) << endl;
}
