#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 800005;
long long int bit[MAX_N + 1];
int nn = MAX_N;
const long long int MOD = 998244353;
void adds(int a, long long int w) {
  for (int x = a; x <= nn; x += x & -x) {
    bit[x] += w;
    bit[x] %= MOD;
  }
}
long long int sums(int a) {
  long long int ret = 0;
  for (int x = a; x > 0; x -= x & -x) {
    ret += bit[x];
    ret %= MOD;
  }
  return ret;
}
int main() {
  int n, k;
  cin >> n >> k;
  int l[k], r[k];
  for (int i = 0; i < (k); ++i) cin >> l[i] >> r[i];
  adds(1, 1);
  for (int i = 1; i < n; ++i) {
    long long int x = sums(i);
    for (int j = 0; j < (k); ++j) {
      adds(i + l[j], x);
      adds(i + r[j] + 1, MOD - x);
    }
  }
  long long int ans = sums(n) % MOD;
  cout << ans << endl;
  return 0;
}
