include[HTML_REMOVED]
using namespace std;
int n,m,k,a[10][10],sum;//行列,总步,图,总排列个数
bool t[1000000];//桶 ,不能重复
void dfs(int x,int y,int b,int s){//坐标,步数,现在的数
if(b==k){
if(t[s]!=true){ //之前没遍历到
sum; //总个数
t[s]=true; //遍历到了
}
return; //回溯
}
if(x-1>=1){ //不出界
dfs(x-1,y,b+1,s10+a[x-1][y]); //往上,步+1,排列组成数
}
if(x+1<=n){
dfs(x+1,y,b+1,s10+a[x+1][y]); //往下,步+1,排列组成数
}
if(y-1>=1){
dfs(x,y-1,b+1,s10+a[x][y-1]); //往左,步+1,排列组成数
}
if(y+1<=m){
dfs(x,y+1,b+1,s10+a[x][y+1]); //往右,步+1,排列组成数
}
}
int main(){
cin>>n>>m>>k;
for(int i=1;i<=n;i){
for(int j=1;j<=m;j){
cin>>a[i][j]; //读入
}
}
for(int i=1;i<=n;i){
for(int j=1;j<=m;j){
dfs(i,j,0,a[i][j]);
}
}
cout<<sum;
return 0;
}