#include <bits/stdc++.h>


typedef long long ll;

using namespace std;


const ll mod=998244353;


int dp[200001][200001];



int main(){

    ll N,K;

    cin>>N>>K;

    ll L,R;

    vector<ll> vec;

    for(ll i=0;i<K;i++){

        cin>>L>>R;
        for(ll j=L;j<=R;j++){
            vec.push_back(j);
        }
    }

    sort(vec.begin(),vec.end());
/*
    cout<<"sort"<<endl;
    for(int i=0;i<vec.size();i++){
        cout<<vec[i]<<" ";
    }
    cout<<endl;
    */

    dp[0][1]=1;

    ll last=N/vec[0]+1;
/*
    cout<<last<<endl;


    cout<<"===="<<endl;
*/
    for(ll i=1;i<=last;i++){
        for(ll j=1;j<=N;j++){
            for(ll k=0;k<(ll)vec.size();k++){
                if(j+vec[k]<=N){
                    dp[i][j+vec[k]]=(dp[i][j+vec[k]]+dp[i-1][j])%mod;
                }else{
                    break;
                }
            }
            
        }
    }
/*
    for(int i=0;i<=last;i++){
        for(int j=0;j<=N;j++){
            cout<<dp[i][j]<<" ";
        }
        cout<<endl;
    }
*/
    ll ans=0;

    for(ll i=0;i<=last;i++){
        ans=(ans+dp[i][N])%mod;
    }

    cout<<ans<<endl;




}


