RT,Wa77pts
#include<bits/stdc++.h>
#define N 605
#define ll long long
using namespace std;
int n,mod,a[N][N],p,opt,t,ans=1;
int main() {
scanf("%d%d",&n,&mod);
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)scanf("%d",&a[i][j]),a[i][j]%=mod;
for(int i=1; i<=n; i++) {
p=i;
for(int j=i; j<=n; j++)if((a[j][i]&&a[j][i]<a[p][i])||(!a[p][i]))p=j;
if(!a[p][i])return 0;
if(p!=i)swap(a[i],a[p]),opt^=1;
for(int j=i+1; j<=n; j++) {
if(a[j][i]>a[i][i])opt^=1,swap(a[i],a[j]);
while(a[j][i]) {
t=a[i][i]/a[j][i];
for(int k=i; k<=n; k++)a[i][k]=(a[i][k]+(ll)(mod-t)*a[j][k])%mod;
swap(a[i],a[j]),opt^=1;
}
}
ans=((ll)ans*a[i][i])%mod;
}
printf("%d\n",opt?mod-ans:ans);
}