/in/foo.cc:7:5: error: '__int64' does not name a type; did you mean '__int64_t'?
__int64 a[N][N];
^~~~~~~
__int64_t
/in/foo.cc: In function 'Matrix mul(Matrix, Matrix)':
/in/foo.cc:13:16: error: 'struct Matrix' has no member named 'a'
memset(tmp.a,0,sizeof(tmp.a));
^
/in/foo.cc:13:31: error: 'struct Matrix' has no member named 'a'
memset(tmp.a,0,sizeof(tmp.a));
^
/in/foo.cc:18:21: error: 'struct Matrix' has no member named 'a'
tmp.a[i][j]+=(x.a[i][k]*y.a[k][j])%M;
^
/in/foo.cc:18:33: error: 'struct Matrix' has no member named 'a'
tmp.a[i][j]+=(x.a[i][k]*y.a[k][j])%M;
^
/in/foo.cc:18:43: error: 'struct Matrix' has no member named 'a'
tmp.a[i][j]+=(x.a[i][k]*y.a[k][j])%M;
^
/in/foo.cc:19:21: error: 'struct Matrix' has no member named 'a'
tmp.a[i][j]%=M;
^
/in/foo.cc: In function 'void quickpow(int)':
/in/foo.cc:26:16: error: 'struct Matrix' has no member named 'a'
memset(res.a,0,sizeof(res.a));
^
/in/foo.cc:26:31: error: 'struct Matrix' has no member named 'a'
memset(res.a,0,sizeof(res.a));
^
/in/foo.cc:28:13: error: 'struct Matrix' has no member named 'a'
res.a[i][i]=1;
^
/in/foo.cc: In function 'int main()':
/in/foo.cc:47:18: error: 'struct Matrix' has no member named 'a'
memset(A.a,0,sizeof(A.a));
^
/in/foo.cc:47:31: error: 'struct Matrix' has no member named 'a'
memset(A.a,0,sizeof(A.a));
^
/in/foo.cc:49:15: error: 'struct Matrix' has no member named 'a'
A.a[i][i-1]=1;
^
/in/foo.cc:51:15: error: 'struct Matrix' has no member named 'a'
A.a[i][k]=1;
^
/in/foo.cc:54:23: error: 'struct Matrix' has no member named 'a'
memset(origin.a,0,sizeof(origin.a));
^
/in/foo.cc:54:41: error: 'struct Matrix' has no member named 'a'
memset(origin.a,0,sizeof(origin.a));
^
/in/foo.cc:56:20: error: 'struct Matrix' has no member named 'a'
origin.a[1][i]=f[i];
^
/in/foo.cc:58:27: error: 'struct Matrix' has no member named 'a'
printf("%d\n",ans.a[1][n]%M);
^