#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
#define LL long long
using namespace std;
LL n,m,A[][],p[],pos,d[],r[],len,B[][];
bool vd[]={};
void prime()
{
pos=;
for(int i=;i<;i++)
{
if(!vd[i])
{
if(i>) p[pos++]=i;
for(int j=(i<<);j<;j+=i)
vd[i]=;
}
}
}
void deal(LL k)
{
len=;
for(int i=;i<pos&&k!=;i++)
{
if(k%p[i]==)
{
while(k%p[i]==)
{
d[len++]=p[i];
k/=p[i];
}
}
}
}
LL exp(LL a,LL b,LL mod)
{
LL ans=;
while(b)
{
if(b&)ans=ans*a%mod;
a=a*a%mod;b>>=;
}
return ans;
}
void ex_gcd(LL a,LL b,LL &dd,LL &x,LL &y)
{
if(b==)
x=,y=,dd=a;
else
{
ex_gcd(b,a%b,dd,y,x);
y-=x*(a/b);
}
}
LL gauss(LL mod)
{
bool flag=;
LL ans=;
for(int i=;i<n;i++)
for(int j=;j<n;j++)
B[i][j]=A[i][j];
for(int k=;k<n-;k++)
{
LL max_b=B[k][k];int bin=k;
for(int i=k+;i<n;i++)
if(B[i][k]>max_b)
max_b=B[i][k],bin=i;
if(bin!=k)
{
for(int i=k;i<n;i++)
swap(B[bin][i],B[k][i]);
flag^=;
}
if(B[k][k]<)B[k][k]+=mod;
LL Ni,y,dd;
ex_gcd(B[k][k],mod,dd,Ni,y);
Ni%=mod;
if(Ni<)Ni+=mod;
for(int j=k+;j<n;j++)
{
B[k][j]=B[k][j]*Ni%mod;
if(B[k][j]<)B[k][j]+=mod;
for(int i=k+;i<n;i++)
{
B[i][j]=(B[i][j]-(B[k][j]*B[i][k])%mod)%mod;
if(B[i][j]<)B[i][j]+=mod;
}
}
ans*=B[k][k];
ans%=mod;
if(ans<)ans+=mod;
}
ans*=B[n-][n-];
ans%=mod;
if(flag)ans=-ans;
if(ans<)ans+=mod;
return ans;
} LL china_remain()
{
LL a,b,c,c1,c2,x,y,dd,N;
a=d[],c1=r[];
if(c1==)c1=d[];
for(int i=;i<len;i++)
{
b=d[i],c2=r[i];
ex_gcd(a,b,dd,x,y);
c=c2-c1;
LL b1=b/dd;
x=((c/dd*x)%b1+b1)%b1;
c1=a*x+c1;
a=a*b1;
}
return c1%m;
}
int main()
{
prime();
while(cin>>n>>m)
{
deal(m);
for(int i=;i<n;i++)
for(int j=;j<n;j++)
cin>>A[i][j];
if(m==)
{
cout<<<<endl;
continue;
}
for(int i=;i<len;i++)
{
r[i]=gauss(d[i]);
}
cout<<china_remain()<<endl;
}
return ;
}

最新文章

  1. SASS 入门笔记
  2. c# 反射事件
  3. CSSText属性批量修改样式
  4. 中国版的 Office 365
  5. 免费的无次数限制的各类API接口(2)
  6. socket传输过程
  7. Log4Net 在多层项目中的使用小记
  8. c#抓取动态页面WebBrowser
  9. C#获取数字证书
  10. (简单) HDU 5154 Harry and Magical Computer,图论。
  11. angularjs之ui-bootstrap的Datepicker Popup实现双日期选择控件
  12. pthon/零起点(一、集合)
  13. SAP MM 采购ERP顾问咨询费限制总金额的框架协议实现方案
  14. Perl IO:IO重定向
  15. Android学习第九天
  16. 【MyBatis-Spring】Mybatis和并入Spring框架
  17. 爬虫——xpath
  18. 微软 microsoft calendar control 11.0 控件下载
  19. Docker容器常用命令
  20. Linux普通用户不能使用TAB键、上下键

热门文章

  1. 对mysql修改库里面所有的引擎mysaim 为 innodb
  2. swoole之 swoole_process 应用于TP框架
  3. ACM_输出格式
  4. Android 性能优化(17)UI优化:Keeping Your App Responsive 拒绝ANR
  5. 数据传递-------@ResponseBody
  6. php简易计算器
  7. Xcode 动态库及Framework 安装路径设置
  8. (转)全文检索技术学习(二)——配置Lucene的开发环境
  9. 面向对象程序设计--Java语言第三周编程题:查找里程
  10. php第二十七节课