Problem G: 分粽子

"
Time Limit $1$ 秒/Second(s) Memory Limit $512$ 兆字节/Megabyte(s)
提交总数 $78$ 正确数量 $12$
裁判形式 标准裁判/Standard Judge 我的状态 尚未尝试
难度 分类标签

当你渐渐地不愿再刷没营养的水题,而是转向去看算法书时,你已经真正踏入ACM的大门了,你会学习到各种数据结构和算法:栈、队列、二叉树、图论、贪心、递归、回溯、动态规划、二分等等,算法帮你看清解题思路,数据结构帮你实现算法。

马上就是端午节,端午节还是要吃些粽子的 tom 家可是个大家庭,粽子的数量,甚至是餐具的数量,都多的惊人。现在,爱数学的 tom 又来问你有趣的数学题了,快来秒掉它!tom 家里有 A 种粽子外形,B种粽子馅,每个粽子可以选择任意一种粽子馅和任意一种粽子外形。同时有 C张桌子,每张桌子上放了D只碗,每只碗能放一只粽子。每只碗都要装一只粽子。tom 会告诉A,B,C,D,mod的值,想请问你有多少种装粽子的方式。答案对 mod取模。两种方式被认为是不同的当且仅当至少有一只碗存在于两种方式的同一个位置但是里面有至少一个粽子不同。 
两个粽子被认为是不同的当且仅当粽子外形不同或者粽子馅不同。 
碗和桌子都是有编号的,但是你不能改变碗或桌子的编号。 
你可以认为碗和桌子都是固定的,你只能改变粽子的种类和位置。

0≤A,B≤1e18

0≤C,D≤1e6

1≤mod≤1000000007

输入共一行,五个整数 A,B,C,D,mod,意义同题目描述。

每行一个整数,表示答案。

1 2 1 3 998244353
8