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