简单DFS
// 用unorderer_set来哈希
// 暴力dfs
#include <iostream>
#include <cstring>
#include <algorithm>
#include <unordered_set>
using namespace std;
const int N = 6;
int n,m,k;
int g[N][N];
unordered_set<int> S;
int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};
void dfs(int x,int y,int step,int num)
{
if(step>k)
{
S.insert(num);
return;
}
for(int i=0;i<4;i++)
{
int a=x+dx[i],b=y+dy[i];
if(a>=1 && a<=n && b>=1 && b<=m)
{
dfs(a,b,step+1,num*10+g[a][b]);
}
}
}
int main()
{
cin>>n>>m>>k;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++) cin>>g[i][j];
}
for(int i=1;i<=n;i++) //每一个点枚举
{
for(int j=1;j<=m;j++)
{
dfs(i,j,1,g[i][j]); //当前的位置i,j,这是第一步,当前的数是g[i][j]
}
}
cout<<S.size();
}