void Matmul(LLX[MAXN][MAXN],LL Y[MAXN][MAXN])
{
LL t[MAXN][MAXN]={0};
for(int i=0;i<N;i++)
for(int k=0;k<N;k++)
if(X[i][k])
for(int j=0;j<N;j++)
t[i][j]=(t[i][j]+X[i][k]*Y[k][j]);
for(int i=0;i<N;i++)
for(int j=0;j<N;j++)
X[i][j]=t[i][j];
}
{
LL t[MAXN][MAXN]={0};
for(int i=0;i<N;i++)
for(int k=0;k<N;k++)
if(X[i][k])
for(int j=0;j<N;j++)
t[i][j]=(t[i][j]+X[i][k]*Y[k][j]);
for(int i=0;i<N;i++)
for(int j=0;j<N;j++)
X[i][j]=t[i][j];
}