#include <bits/stdc++.h>
using namespace std;
long long int gcd(long long int a, long long int b) {
  return b == 0 ? a : gcd(b, a % b);
}
int32_t main() {
  long long int t = 1;
  while (t--) {
    long long int n, k;
    cin >> n >> k;
    long long int a[k][2];
    for (long long int i = 0; i < k; i++) cin >> a[i][0] >> a[i][1];
    vector<long long int> dp(n + 1, 0);
    dp[1] = 1;
    for (long long int i = 1; i < n; i++) {
      for (long long int j = 0; j < k; j++) {
        for (long long int p = a[j][0]; p <= a[j][1]; p++) {
          if (i + p <= n)
            dp[i + p] = (dp[i + p] % 998244353 + dp[i] % 998244353) % 998244353;
        }
      }
    }
    cout << dp[n] << endl;
  }
}
