#P16956. [SGU386] Happy Birthday, Jedi Knight!

[SGU386] Happy Birthday, Jedi Knight!

/ 生日快乐,绝地武士!

题目描述

绝地武士潜入了一座新型死星,准备搜集重要文件。

死星是一个 nn 维平行多面体,它的 nn 组边分别平行于整数向量 v1,v2,,vnv_1,v_2,\dots,v_n,每组边的长度等于对应向量的长度。

在这个平行多面体内部以及边界上的每个整数格点处,都放有一份文件。

对某份文件,设包含该点的最小维面维数为 kk。更准确地说,如果该点位于某个 kk 维面内部,但不位于任何更低维面的内部,那么这份文件的价格为 2k2^k

绝地武士会拿走所有文件。求他能够获得的总金额。

答案可能非常大,因此对给定的质数 pp 取模。

输入格式

第一行包含两个整数 n,pn,p,其中:

2n502\le n\le50

接下来 nn 行,每行包含 nn 个整数,第 ii 行给出向量 viv_i 的坐标 aija_{ij}

坐标满足 0aijp10\le a_{ij}\le p-1

保证这 nn 个向量线性无关。

注:上传的原始题面材料中,pp 的具体范围在文本里缺失。

输出格式

输出总金额对 pp 取模后的结果。

样例

2 43
1 0
0 1
4

时间与空间限制

  • 时间限制:0.25 s
  • 内存限制:256 MB