#include #include #include using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for(int i=0;i<(n);i++) #define Inf 1000000001 int H,W,K; set>> S; vector> t; void dfs(vector> cur,int cp){ if(cp==t.size()){ auto temp = cur; set T; rep(i,H){ rep(j,W){ T.insert(cur[i][j]); } } if(T.size()!=K)return; rep(i,H){ rep(k,W){ temp = min(temp,cur); rep(j,H){ int x = cur[j].back(); cur[j].pop_back(); cur[j].insert(cur[j].begin(),x); } } auto y = cur.back(); cur.pop_back(); cur.insert(cur.begin(),y); } S.insert(temp); } else{ rep(i,K){ cur[t[cp].first][t[cp].second] = i; dfs(cur,cp+1); } } } int main(){ cin>>H>>W>>K; rep(i,H){ rep(j,W){ t.emplace_back(i,j); } } vector> cur(H,vector(W,0)); dfs(cur,0); cout<