MOD = 998244353
N, K = gets.split.map(&:to_i)
Q = K.times.map { gets.split.map(&:to_i) }
DP = Array.new(N + 1, 0)
DP[1] = 1

def sum(x)
  res = 0

  Q.each do |l, r|
    a = (x - r - 1 >= 0) ? DP[x - r - 1] : 0
    b = (x - l >= 0) ? DP[x - l] : 0

    res += b - a
    res %= MOD
  end

  res
end

2.upto(N) do |x|
  DP[x] = DP[x - 1] + sum(x)
  DP[x] %= MOD
end

puts sum(N)
