小 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