#include <bits/stdc++.h>
using namespace std;
long long INF = 1e18;
long long mod = 998244353;
int main() {
  long long n, k;
  cin >> n >> k;
  long long l[k], r[k];
  for (int i = 0; i < k; i++) {
    cin >> l[i] >> r[i];
  }
  vector<long long> dp(n + 1, 0);
  vector<long long> add(2 * n + 10, 0);
  dp[1] = 1;
  for (int i = 1; i < n; i++) {
    long long np = dp[i];
    for (int u = 0; u < k; u++) {
      add[l[u] + i] += np;
      add[l[u] + i] %= mod;
      add[r[u] + i + 1] -= np;
      add[r[u] + i + 1] %= mod;
    }
    dp[i + 1] = dp[i] + add[i + 1];
    dp[i + 1] %= mod;
  }
  cout << add[n] << endl;
  return 0;
}
