小 L 有一嚿大細為 $L \times W \times H$ 嘅朱古力。喺朱古力入面有 $n$ 粒杏仁,其中第 $i$ 粒杏仁位於單位立方體 $[x_i - 1, x_i] \times [y_i - 1, y_i] \times [z_i - 1, z_i]$ 嘅中心。冇兩粒杏仁佔據相同嘅位置。
而家,小 L 想將呢嚿朱古力切成若干個細嚿啲嘅朱古力。具體嚟講,佢希望分別沿住三個維度進行 $p, q, r$ 次切割。每次切割都必須沿住整數座標進行,喺同一個維度上唔可以喺相同嘅座標處進行兩次切割,而且唔可以喺朱古力嘅邊界(即座標為 $0$ 或者 $L, W, H$ 處)進行切割。
形式化嚟講,喺 $x$ 方向上座標為 $k$ ($0 < k < L$) 處進行一次切割,意味住沿住平面 $x = k$ 切開朱古力。對於 $y$ 同 $z$ 方向同理。
此外,對於切割後得到嘅 $(p + 1)(q + 1)(r + 1)$ 嚿朱古力,小 L 希望每嚿朱古力都包含相同數量嘅杏仁。小 L 想知道有幾多種本質唔同嘅切割方法滿足呢個條件。如果喺某個維度上存在一個位置,第一種方法喺呢個位置切咗一刀而第二種方法冇,就認為呢兩種切割方法係唔同嘅。輸出結果對 $10^9 + 7$ 取模嘅值。
輸入格式
每個測試用例嘅第一行包含三個整數 $L, W, H$ ($1 \le L, W, H \le 10^9$),表示朱古力嘅大細。
第二行包含三個整數 $p, q, r$ ($0 \le p, q, r \le 10^6$),分別表示喺 $x$、$y$ 同 $z$ 方向上嘅切割次數。
第三行包含一個整數 $n$ ($1 \le n \le 10^6$),表示杏仁嘅數量。
接落嚟嘅 $n$ 行,每行包含三個整數 $x_i, y_i, z_i$ ($1 \le x_i \le L, 1 \le y_i \le W, 1 \le z_i \le H$),表示一粒杏仁嘅位置。保證所有三元組 $(x_i, y_i, z_i)$ 互不相同。
輸出格式
輸出一行,包含一個整數,表示結果對 $10^9 + 7$ 取模嘅值。
範例
輸入 1
4 4 1 1 1 0 4 1 2 1 2 4 1 3 1 1 4 3 1
輸出 1
1
輸入 2
3 3 3 1 1 1 3 1 1 1 2 2 2 3 3 3
輸出 2
0
輸入 3
9 9 9 1 1 1 8 1 1 2 2 2 8 1 9 1 2 8 9 8 2 1 9 2 9 9 8 1 8 9 7
輸出 3
180