#include <bits/stdc++.h>
using namespace std;
long long MOD = 998244353;
const long long INFLL = 0x3f3f3f3f3f3f3f3f;
const int INF = 0x3f3f3f3f;
const long long MAXN = 1e+5 + 7;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  long long i, j, n, k;
  cin >> n >> k;
  vector<long long> dp(n), jp;
  dp[0] = 1;
  for (i = 0; i < k; ++i) {
    long long a, b;
    cin >> a >> b;
    for (j = a; j <= b; ++j) jp.push_back(j);
  }
  sort(jp.begin(), jp.end());
  for (i = 0; i < n; ++i)
    for (j = 0; j < jp.size() && i + jp[j] < n; ++j)
      dp[i + jp[j]] += dp[i], dp[i + jp[j]] %= MOD;
  cout << dp[n - 1] << '\n';
  return 0;
}
