#include <bits/stdc++.h>
#define maxn 1001000

int a[200100];
int ans[200100];
int sum[200200];
int k;
int n;
int l[2][11];
const int mod = 998244353;
int get(int now){
	if(now<=0) return 0;
	else {
		return sum[now];
	}
}

int main(){
	scanf("%d%d",&n,&k);
	ans[1]=1;sum[1]=1;
	for (int j = 1;j <= k;j++) {
		scanf("%d%d",&l[0][j],&l[1][j]);
	}
	for(int i = 2;i <= n;i++) {
		long long now= 0;
		for(int j = 1;j<=k;j++) {
			now+=get(i-l[0][j]);
			now-=get(i-l[1][j]-1);
		}
		now%=mod;now+=mod;
		now%=mod;ans[i]=now;
		sum[i]=sum[i-1]+ans[i];
		sum[i]%=mod;
		//printf("ans[%d]=%d %d\n",i,ans[i],sum[i]);
	}
	
	printf("%d\n",ans[n]);
}