P14656 苍蓝月

题目描述

有一个二维平面,你当前位于原点,即 $(0,0)$。 你可以在平面上移动,共有 $n$ 种不同的移动方式,每种方式用一个三元组 $(x_i,y_i,c_i)$ 描述。 如果你当前位于 $(X,Y)$,那么可以选择一种移动方式 $i$,移动到 $(X+x_i,Y+y_i)$,第 $i$ 种移动方式最多使用 $c_i$ 次。 有 $Q$ 次询问,每次给定一个矩形左下角为 $(l_x,l_y)$,右上角为 $(r_x,r_y)$ 的矩形,你要通过若干次移动移动到该矩形内,输出不同方案数对 $22309287$ 取模的结果。 两种方案不同当且仅当总移动次数不同,或者某次移动选择的移动方式不同。

输入格式

第一行一个整数 $n$。 接下来 $n$ 行,每行三个整数 $x_i,y_i,c_i$。 接下来一行一个整数 $Q$。 接下来 $Q$ 行,每行四个整数 $l_x,r_x,l_y,r_y$。

输出格式

一共 $Q$ 行,每行一个非负整数代表答案。

说明/提示

对于 $20\%$ 的数据,$c_i\leq 20$。 对于另外 $20\%$ 的数据,$y_i=0$。 对于另外 $20\%$ 的数据,$r_x,r_y\leq 1000$。 对于另外 $20\%$ 的数据,$n\leq 2$。 对于 $100\%$ 的数据,$n\leq 4,0\leq x_i,y_i\leq 4,0\leq l_x,r_x,l_y,r_y,c_i\leq 10^{18},0\leq Q\leq 5$。 **三元组 $(x_i,y_i,c_i)$ 在范围内随机生成。**