#include <bits/stdc++.h>
using namespace std;
long long int mem[200004], vis[200004], mod = 998244353;
vector<long long int> v;
long long int dp(long long int i, long long int n) {
  long long int j;
  if (i > n) return 0;
  if (i == n) return 1;
  if (vis[i] == 1) return mem[i];
  for (j = 0; j < v.size(); j++) {
    mem[i] += (dp(i + v[j], n) % mod);
  }
  vis[i] = 1;
  return mem[i];
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int n, k, i, j, a, b;
  cin >> n >> k;
  for (i = 1; i <= k; i++) {
    cin >> a >> b;
    if (a == b)
      v.push_back(a);
    else {
      for (j = a; j <= b; j++) v.push_back(j);
    }
  }
  dp(1, n);
  mem[1] %= mod;
  if (mem[1] < 0) mem[1] += mod;
  cout << mem[1] << endl;
  return 0;
}
