#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <stack>
#include <queue>
#include <map>
#include <vector>
#include <cstdio>
#include <cmath>
#define ll long long
#define lowbit(x) (x&(-x))
#define pi acos(-1.0)
#define N 202
const ll mod=1e9+7;
using namespace std;
ll dir[8][2]={{2,1},{2,-1},{-2,1},{-2,-1},{1,2},{1,-2},{-1,2},{-1,-2}};
ll n,m,k;
ll dp[N][N][N];
int judge(ll x,ll y)
{
if(x<0||y<0||x>=n||y>=m) return 0;
return 1;
}
ll dfs(ll x,ll y,ll cnt)
{
if(dp[x][y][cnt]!=-1) return dp[x][y][cnt];
if(cnt==k)
{
if(x==n-1&&y==m-1) return 1;
return 0;
}
ll ans=0;
for(int i=0;i<=7;i++)
{
ll fx=x+dir[i][0];
ll fy=y+dir[i][1];
if(judge(fx,fy))
{
ans=(ans+dfs(fx,fy,cnt+1))%mod;
}
}
dp[x][y][cnt]=ans;
return ans;
}
int main()
{
while(cin>>n>>m>>k)
{
memset(dp,-1,sizeof(dp));
cout<<dfs(0,0,0)<<endl;
}
return 0;
}