luogu#P7896. 『JROI-3』Moke 的游戏

『JROI-3』Moke 的游戏

题目描述

Moke 是一个喜欢玩游戏的男孩子。

众所周知,游戏应当有血量。血量永远是非负整数,如果在某个时刻血量将要变为负数,那么游戏会崩溃,这就不算作一种游戏局面。这里允许血量是 00
一般来说,友好的游戏都会具有一定的初始血量。但是 Moke 是一个喜欢在游戏里受虐的男孩子。所以他把自己的初始血量设成了 00

不过,这个游戏的难度并不高。
它一共进行 n+1n+1 个时刻。初始是第 00 个时刻,最终是第 nn 个时刻。每个时刻 Moke 会遇到以下三种事件,然后进入下一时刻:

  1. 空地。它使得 Moke 的血量不变。一共有 a0a_0 种不同的空地。
  2. 怪兽。它使得 Moke 的血量减一。一共有 a1a_{-1} 种不同的怪兽。
  3. 道具。它使得 Moke 的血量增加一个正整数。具体地,一共有 apa_p 种使 Moke 血量加 pp 的道具,其中 pZ+p \in \mathbb Z^+

为了不让游戏太复杂,游戏的开发者保证 $\big|\{p \mid p \in \mathbb Z^+ \land a_p > 0\}\big|=k$。即,所有道具总共只造成恰好 kk 种不同的血量变化量。

当然,Moke 还是给自己进一步增加了难度。他要求结束时自己的血量为 00,且给出一个正整数 mm,表示限制这 n+1n+1 个时刻中,他恰好有 mm 次血量为 00(包括初始时刻)。

请求出所有不同的,符合 Moke 限制的游戏局面个数。两个局面不同当且仅当每个时刻遇到的事件的种类不同(包括不同的空地、不同的怪兽和不同的道具)。

Moke 不希望你面对太困难的问题。所以他给出一个质数 P=109+7P=10^9+7 并只要求你给出取模 PP 后的答案。

输入格式

第一行,三个正整数 n,m,kn,m,k
第二行,两个正整数 a0,a1a_0,a_{-1}
以下 kk 行,其中第 ii 行两个正整数 pi,apip_i,a_{p_i}。表示存在道具造成的血量变化量为 pip_i,且这样的道具有 apia_{p_i} 种。

输出格式

一行,一个非负整数。表示答案取模 PP 的结果。

5 3 1
1 1
1 1
6
5 3 1
1 2
3 4
64

提示

  • 对于 30%30\% 的数据,n15n \le 15k1k \le 1
  • 对于 50%50\% 的数据,n100n \le 100
  • 对于 70%70\% 的数据,n2.5×103n \le 2.5 \times 10^3
  • 对于 100%100\% 的数据,1n5×1061 \le n \le 5 \times 10^61mn+11 \le m \le n + 11k101 \le k \le 101pin1 \le p_i \le n0<a0,a1,api<P0 < a_0,a_{-1},a_{p_i} < P,保证 pip_i 从小到大给出且互不相同。