#include <bits/stdc++.h>
using namespace std;
int main(){
    int N,K;
    cin >> N >> K;
    int DP[N]={0},L[K],R[K];
    vector<int> S;
    for(int i=0;i<K;i++) cin >> L[i] >> R[i];
    for(int i=0;i<K;i++){
        for(int j=0;j<R[i]-L[i]+1;j++){
            S.push_back(L[i]+j);
        }
    }//集合Sが求まった
    sort(S.begin(),S.end());
    DP[0] = 1;
    for(int i=0;i<N;i++){//高橋くんの現在地は座標i
        for(int j=0;j<S.size();j++){
            if(i-S.at(j)>=0){
                DP[i] += DP[i-S.at(j)];
                DP[i]%=998244353;
            }
            else break;
        }
    }
    cout << DP[N-1] << endl;
    return 0;
}