QOJ.ac

QOJ

実行時間制限: 1.5 s メモリ制限: 1024 MB 満点: 100 ハック可能 ✓

#15302. Krojenie Czekolady

統計

Mały L ma kawałek czekolady o wymiarach $L \times W \times H$. Wewnątrz czekolady znajduje się $n$ migdałów, przy czym $i$-ty migdał znajduje się w środku sześcianu jednostkowego $[x_i - 1, x_i] \times [y_i - 1, y_i] \times [z_i - 1, z_i]$. Żadne dwa migdały nie zajmują tej samej pozycji.

Teraz Mały L chce pokroić ten kawałek czekolady na kilka mniejszych kawałków. Dokładniej mówiąc, chce wykonać odpowiednio $p, q, r$ cięć wzdłuż trzech wymiarów. Każde cięcie musi być wykonane wzdłuż całkowitych współrzędnych, żadne dwa cięcia nie mogą być wykonane na tej samej współrzędnej w tym samym wymiarze, a cięcia nie mogą być wykonywane na krawędziach czekolady (tzn. na współrzędnych $0$ ani $L, W, H$).

Formalnie, cięcie w kierunku $x$ na współrzędnej $k$ ($0 < k < L$) oznacza przecięcie czekolady wzdłuż płaszczyzny $x = k$. To samo dotyczy kierunków $y$ oraz $z$.

Ponadto Mały L ma nadzieję, że spośród $(p + 1)(q + 1)(r + 1)$ kawałków czekolady powstałych po cięciach każdy kawałek będzie zawierał taką samą liczbę migdałów. Mały L chce wiedzieć, ile istotnie różnych metod krojenia spełnia ten warunek. Dwie metody krojenia uważa się za różne, jeśli w pewnym wymiarze istnieje pozycja taka, że pierwsza metoda tnie w tej pozycji, a druga nie. Wypisz wynik modulo $10^9 + 7$.

Wejście

Pierwszy wiersz każdego przypadku testowego zawiera trzy liczby całkowite $L, W, H$ ($1 \le L, W, H \le 10^9$), oznaczające wymiary czekolady.

Drugi wiersz zawiera trzy liczby całkowite $p, q, r$ ($0 \le p, q, r \le 10^6$), oznaczające odpowiednio liczbę cięć w kierunkach $x$, $y$ oraz $z$.

Trzeci wiersz zawiera liczbę całkowitą $n$ ($1 \le n \le 10^6$), oznaczającą liczbę migdałów.

Kolejne $n$ wierszy zawiera po trzy liczby całkowite $x_i, y_i, z_i$ ($1 \le x_i \le L, 1 \le y_i \le W, 1 \le z_i \le H$), oznaczające pozycję migdału. Gwarantuje się, że wszystkie trójki $(x_i, y_i, z_i)$ są parami różne.

Wyjście

Jeden wiersz zawierający liczbę całkowitą oznaczającą wynik modulo $10^9 + 7$.

Przykłady

Wejście 1

4 4 1
1 1 0
4
1 2 1
2 4 1
3 1 1
4 3 1

Wyjście 1

1

Wejście 2

3 3 3
1 1 1
3
1 1 1
2 2 2
3 3 3

Wyjście 2

0

Wejście 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

Wyjście 3

180

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.