using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace AtCoder
{
    class ABC179D
    {
        static void Main(string[] args)
        {
            //int n = int.Parse(Console.ReadLine());
            string[] str = Console.ReadLine().Split(' ');
            int n = int.Parse(str[0]);
            int k = int.Parse(str[1]);
            var s = new SortedSet<int>();
            long[] dp = new long[n+1];
            dp[0] = 0;
            dp[1] = 1;
            int mod = 998244353;
            for(int i = 0; i < k; i++)
            {
                string[] lr = Console.ReadLine().Split(' ');
                int l = int.Parse(lr[0]);
                int r = int.Parse(lr[1]);
                for(int j = l; j <= r; j++)
                {
                    s.Add(j);
                }
            }
            for(int i = 1; i <= n; i++)
            {
                foreach(int a in s)
                {
                    if(i+a <= n)
                    {
                        dp[i+a] += dp[i];
                        dp[i+a] %= mod;
                    }
                }
            }
            Console.WriteLine(dp[n]);
        }
    }
}