题目
#include<bits/stdc++.h>
using namespace std;
int a[105][105];
bool b[105];
vector<int> f[105][105];
int main(){
int n,m,k;
cin>>n>>m>>k;
for(int i=1;i<=m;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
}
}
f[1][1].push_back(1);
for(int i=2;i<=m;i++){
f[i][1].push_back(f[i-1][1][0]*a[i][1]%k);
}
for(int j=2;j<=n;j++){
f[1][j].push_back(f[1][j-1][0]*a[1][j]%k);
}
for(int i=2;i<=m;i++){
for(int j=2;j<=n;j++){
for(int l=0;l<f[i][j-1].size();l++){
f[i][j].push_back(f[i][j-1][l]*a[i][j]%k);
}
for(int l=0;l<f[i-1][j].size();l++){
f[i][j].push_back(f[i-1][j][l]*a[i][j]%k);
}
}
}
for(int i=0;i<f[m][n].size();i++){
b[f[m][n][i]]=1;
}
int ans=0;
for(int i=0;i<k;i++){
if(b[i]){
ans++;
}
}
cout<<ans<<endl;
for(int i=0;i<k;i++){
if(b[i]){
cout<<i<<" ";
}
}
return 0;
}