QOJ.ac

QOJ

시간 제한: 1.5 s 메모리 제한: 1024 MB 총점: 100 해킹 가능 ✓

#15302. تقطيع الشوكولاتة

통계

لدى الصغير 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

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.