unittest
{
	assert( [ "2 2 2" ].parse.expand.solve == 8 );
	assert( [ "4 5 4" ].parse.expand.solve == 87210 );
	assert( [ "100 100 5000" ].parse.expand.solve == 817260251 );
}



import std.conv;
import std.range;
import std.stdio;
import std.typecons;

void main()
{
	stdin.byLineCopy.parse.expand.solve.writeln;
}

auto parse( Range )( Range input )
if( isInputRange!Range && is( ElementType!Range == string ) )
{
	auto nmk = input.front.split.to!( long[] );
	return tuple( nmk[ 0 ], nmk[ 1 ], nmk[ 2 ] );
}

auto solve( long n, long m, long k )
{
	// 縦と横のコストを分けて計算
	return solve2( n, m, k ).addMod( solve2( m, n, k ) );
}

auto solve2( long n, long m, long k )
{
	// 駒2つを固定したときの残りの駒の配置のパターン数を計算
	auto ca = n.mulMod( m ).subMod( 2 ).combinationMod( k.subMod( 2 ) );
	
	// 駒2つの距離がdのときの配置のコストを集計
	auto t = 0L;
	for( auto d = 1L; d < n; d++ )
	{
		// 駒2つの配置のパターン数を計算
		auto cb = n.subMod( d ).mulMod( m ).mulMod( m );
		
		// 駒2つの距離 * 駒2つの配置のパターン数 * 駒2つを固定したときの残りの駒の配置のパターン数 = コスト
		t = t.addMod( d.mulMod( cb ).mulMod( ca ) );
	}
	return t;
}

// 足し算
auto addMod( long MOD = 10L ^^ 9 + 7 )( long x, long y )
{
	return ( x + y ) % MOD;
}

// 引き算
auto subMod( long MOD = 10L ^^ 9 + 7 )( long x, long y )
{
	return ( x + MOD - y ) % MOD;
}

// 掛け算
auto mulMod( long MOD = 10L ^^ 9 + 7 )( long x, long y )
{
	return x * y % MOD;
}

// 割り算
auto divMod( long MOD = 10L ^^ 9 + 7 )( long x, long y )
{
	return x * y.powMod!MOD( MOD - 2 ) % MOD;
}

// べき乗
auto powMod( long MOD = 10L ^^ 9 + 7 )( long x, long y )
{
	auto a = 1L;
	for( ; 0 < y; y >>= 1 )
	{
		if( y & 1 ) a = a * x % MOD;
		x = x ^^ 2 % MOD;
	}
	return a;
}

// 階乗
auto factorialMod( long MOD = 10L ^^ 9 + 7 )( long x )
{
	static memo = [ 1L ];
	if( memo.length <= x )
	{
		auto i = memo.length;
		memo.length = x + 1;
		for( ; i <= x; i++ ) memo[ i ] = memo[ i - 1 ] * i % MOD;
	}
	return memo[ x ];
}

// 組み合わせ数
auto combinationMod( long MOD = 10L ^^ 9 + 7 )( long x, long y )
{
	return ( x < y ) ? 0L : x.factorialMod!MOD.divMod!MOD( y.factorialMod!MOD * ( x - y ).factorialMod!MOD % MOD );
}
