N, K = map(int, input().split())
LR = [list(map(int, input().split())) for _ in range(K)]

dp = [-1 for _ in range(N + 1)]


def dfs(n):
    if n < 0:  # あとマイナスマス（行き過ぎ）のとき
        return 0

    if n == 0:  # あと 0 マスのとき
        return 1

    if 0 <= dp[n]:  # 何通りか知っているとき
        return dp[n]

    ans = 0
    for l, r in LR:
        for d in range(l, r + 1):
            ans += dfs(n - d)  # あと N - d のとき何通り？を全部足す
            ans %= 998244353

    dp[n] = ans
    return dp[n]


print(dfs(N - 1))  # あと N - 1 マスのとき何通り？
