AT_k2pc001_h4 マシュマロ(Marshmallow)

题目描述

kagamiz 有一只宠物叫ミズゴロウ,每天他都会带着它从家走 $ K $ 米去公园。在沿途和回来路上,他们会玩一个游戏: - kagamiz 会把棉花糖投掷到前面的 $ 1 $ 米或 $ 2 $ 米处,ミズゴロウ会去接住棉花糖。 - 随后,kagamiz 也会走到投掷的位置,并重复这一操作。 需要注意的是,棉花糖不能被投到超出公园或在家之前的地方。去公园的路上从家(0米)出发,而回家的路上从公园($ K $ 米)出发,这两个地点他们一定都会经过。然而,去程中有 $ P $ 个位置,回程中有 $ Q $ 个位置,总共有 $ R $ 个位置有水坑。若把棉花糖投掷到这些地方,ミズゴロウ会因为喜欢嬉水而停留,不再前进,因此这些地方不能投。 你的任务是,当给定 $ K $、$ R $ 和水坑位置的信息时,计算出所有可能路径的数量,并输出该数量对 $ 100000 $ 取模的结果。 - $ 1 \leq K \leq 3000000 $:家到公园的距离。 - $ 0 \leq R \leq 100000 $:去程或回程中水坑的总数量。 - $ 1 \leq a_i \leq K $:家到水坑的距离。 - 整数 $ t_i $ 表示水坑位于去程还是回程,取值为 $ 1 $ 或 $ 2 $。 在某些限制条件下: - 对 $ 30\% $ 的数据,满足 $ R = 0 $。 - 对 $ 20\% $ 的数据,满足 $ K \leq 15 $。 - 对 $ 10\% $ 的数据,同时满足上述两个条件。 - 对 $ 40\% $ 的数据,至少满足上述两个条件之一。 请注意,这些限制条件的分数并不等于 $ 100\% $。

输入格式

第一行包含两个整数 $ K $ 和 $ R $。 接下来的 $ R $ 行中,每行包含两个整数 $ a_i $ 和 $ t_i $,分别表示水坑的位置和路径类型($ 1 $ 表示去程,$ 2 $ 表示回程)。

输出格式

输出一个整数,表示所有可能路径的数量对 $ 100000 $ 取模的结果。

说明/提示

- $ 1 \leq K \leq 3000000 $ - $ 0 \leq R \leq 100000 $ - $ 1 \leq a_i \leq K $ - $ t_i \in \{1, 2\} $ **本翻译由 AI 自动生成**