#include <bits/stdc++.h>
using namespace std;
const int mod=1e9+7,N=805;
unsigned int n,m,k,a[N][N],dp[N][N][20][2];
int main(){
cin>>n>>m>>k;
k++;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
dp[i][j][a[i][j]%k][0]=1;
}
}
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
for(int h=0;h<=k-1;h++){
if(i+1<=n)
(dp[i+1][j][(h+k-a[i+1][j])%k][1]+=dp[i][j][h][0]%mod)%mod,
(dp[i+1][j][(h+a[i+1][j])%k][0]+=dp[i][j][h][1]%mod)%mod;
if(j+1<=m)
(dp[i][j+1][(h+k-a[i][j+1])%k][1]+=dp[i][j][h][0]%mod)%mod,
(dp[i][j+1][(h+a[i][j+1])%k][0]+=dp[i][j][h][1]%mod)%mod;
}
int ans=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
(ans+=dp[i][j][0][1]%mod)%mod;
cout<<ans;
return 0;
}