ל-Little 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]$. אין שני שקדים התופסים את אותו מיקום.
כעת, Little L רוצה לחתוך את חתיכת השוקולד הזו למספר חתיכות קטנות יותר. באופן ספציפי, הוא רוצה לבצע $p, q, r$ חיתוכים לאורך שלושת הממדים, בהתאמה. כל חיתוך חייב להתבצע לאורך קואורדינטות שלמות, לא ניתן לבצע שני חיתוכים באותה קואורדינטה באותו ממד, ולא ניתן לבצע חיתוכים בקצוות השוקולד (כלומר, בקואורדינטות $0$ או $L, W, H$).
באופן פורמלי, חיתוך בכיוון $x$ בקואורדינטה $k$ ($0 < k < L$) פירושו חיתוך השוקולד לאורך המישור $x = k$. אותו הדבר תקף גם לכיוונים $y$ ו-$z$.
בנוסף, עבור $(p + 1)(q + 1)(r + 1)$ חתיכות השוקולד שלאחר החיתוכים, Little L מקווה שכל חתיכה תכיל את אותו מספר שקדים. Little 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