n, m, k = map(int, input().split())

MOD = 10 ** 9 + 7

class ModCmb:
    def __init__(self, size):
        self.inv = [1] * (size + 1)
        self.fact = [1] * (size + 1)
        temp_inv = [1] * (size + 1)
        for i in range(2, size + 1):
            temp_inv[i] = ( -(MOD // i) * temp_inv[MOD%i] ) % MOD
        for i in range(2, size + 1):
            self.fact[i] = self.fact[i-1] * i % MOD
            self.inv[i] = self.inv[i-1] * temp_inv[i] % MOD

    def cmb(self, n, r):
        if n <= 1 or n == r:
            return 1
        elif r == 1:
            return n
        else:
            return  (self.fact[n] * self.inv[r] % MOD ) * self.inv[n-r] % MOD

mc = ModCmb(n*m)

temp = mc.cmb(n*m-2, k-2)

ans = 0

for h in range(n):
    for w in range(m):
        if h != 0 and w != 0:
            ans += (h + w) * temp * (n - h) * (m - w) * 2
        else:
            ans += (h + w) * temp * (n - h) * (m - w)
        ans %= MOD

print(ans) n, m, k = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split m k MOD = 10 ** 9 + 7 MOD 10 ** 9 + 7 10 ** 9 10 9 7 class ModCmb:
    def __init__(self, size):
        self.inv = [1] * (size + 1)
        self.fact = [1] * (size + 1)
        temp_inv = [1] * (size + 1)
        for i in range(2, size + 1):
            temp_inv[i] = ( -(MOD // i) * temp_inv[MOD%i] ) % MOD
        for i in range(2, size + 1):
            self.fact[i] = self.fact[i-1] * i % MOD
            self.inv[i] = self.inv[i-1] * temp_inv[i] % MOD

    def cmb(self, n, r):
        if n <= 1 or n == r:
            return 1
        elif r == 1:
            return n
        else:
            return  (self.fact[n] * self.inv[r] % MOD ) * self.inv[n-r] % MOD ModCmb def __init__(self, size):
        self.inv = [1] * (size + 1)
        self.fact = [1] * (size + 1)
        temp_inv = [1] * (size + 1)
        for i in range(2, size + 1):
            temp_inv[i] = ( -(MOD // i) * temp_inv[MOD%i] ) % MOD
        for i in range(2, size + 1):
            self.fact[i] = self.fact[i-1] * i % MOD
            self.inv[i] = self.inv[i-1] * temp_inv[i] % MOD

     __init__ self.inv = [1] * (size + 1) self.inv self inv [1] * (size + 1) [1] 1 size + 1 size 1 self.fact = [1] * (size + 1) self.fact self fact [1] * (size + 1) [1] 1 size + 1 size 1 temp_inv = [1] * (size + 1) temp_inv [1] * (size + 1) [1] 1 size + 1 size 1 for i in range(2, size + 1):
            temp_inv[i] = ( -(MOD // i) * temp_inv[MOD%i] ) % MOD
         i range(2, size + 1) range 2 size + 1 size 1 temp_inv[i] = ( -(MOD // i) * temp_inv[MOD%i] ) % MOD temp_inv[i] temp_inv i ( -(MOD // i) * temp_inv[MOD%i] ) % MOD -(MOD // i) * temp_inv[MOD%i] -(MOD // i) MOD // i MOD i temp_inv[MOD%i] temp_inv MOD%i MOD i MOD for i in range(2, size + 1):
            self.fact[i] = self.fact[i-1] * i % MOD
            self.inv[i] = self.inv[i-1] * temp_inv[i] % MOD

     i range(2, size + 1) range 2 size + 1 size 1 self.fact[i] = self.fact[i-1] * i % MOD self.fact[i] self.fact self fact i self.fact[i-1] * i % MOD self.fact[i-1] * i self.fact[i-1] self.fact self fact i-1 i 1 i MOD self.inv[i] = self.inv[i-1] * temp_inv[i] % MOD self.inv[i] self.inv self inv i self.inv[i-1] * temp_inv[i] % MOD self.inv[i-1] * temp_inv[i] self.inv[i-1] self.inv self inv i-1 i 1 temp_inv[i] temp_inv i MOD self self size size def cmb(self, n, r):
        if n <= 1 or n == r:
            return 1
        elif r == 1:
            return n
        else:
            return  (self.fact[n] * self.inv[r] % MOD ) * self.inv[n-r] % MOD cmb if n <= 1 or n == r:
            return 1
        elif r == 1:
            return n
        else:
            return  (self.fact[n] * self.inv[r] % MOD ) * self.inv[n-r] % MOD n <= 1 or n == r n <= 1 n 1 n == r n r return 1 1 elif r == 1:
            return n
         r == 1 r 1 return n n return  (self.fact[n] * self.inv[r] % MOD ) * self.inv[n-r] % MOD (self.fact[n] * self.inv[r] % MOD ) * self.inv[n-r] % MOD (self.fact[n] * self.inv[r] % MOD ) * self.inv[n-r] self.fact[n] * self.inv[r] % MOD self.fact[n] * self.inv[r] self.fact[n] self.fact self fact n self.inv[r] self.inv self inv r MOD self.inv[n-r] self.inv self inv n-r n r MOD self self n n r r mc = ModCmb(n*m) mc ModCmb(n*m) ModCmb n*m n m temp = mc.cmb(n*m-2, k-2) temp mc.cmb(n*m-2, k-2) mc.cmb mc cmb n*m-2 n*m n m 2 k-2 k 2 ans = 0 ans 0 for h in range(n):
    for w in range(m):
        if h != 0 and w != 0:
            ans += (h + w) * temp * (n - h) * (m - w) * 2
        else:
            ans += (h + w) * temp * (n - h) * (m - w)
        ans %= MOD h range(n) range n for w in range(m):
        if h != 0 and w != 0:
            ans += (h + w) * temp * (n - h) * (m - w) * 2
        else:
            ans += (h + w) * temp * (n - h) * (m - w)
        ans %= MOD w range(m) range m if h != 0 and w != 0:
            ans += (h + w) * temp * (n - h) * (m - w) * 2
        else:
            ans += (h + w) * temp * (n - h) * (m - w)
         h != 0 and w != 0 h != 0 h 0 w != 0 w 0 ans += (h + w) * temp * (n - h) * (m - w) * 2 ans (h + w) * temp * (n - h) * (m - w) * 2 (h + w) * temp * (n - h) * (m - w) (h + w) * temp * (n - h) (h + w) * temp h + w h w temp n - h n h m - w m w 2 ans += (h + w) * temp * (n - h) * (m - w) ans (h + w) * temp * (n - h) * (m - w) (h + w) * temp * (n - h) (h + w) * temp h + w h w temp n - h n h m - w m w ans %= MOD ans MOD print(ans) print ans k = map(int, input().split()) map(int, input().split()) k MOD = 10 ** 9 + 7 10 ** 9 + 7 MOD temp = mc.cmb(n*m-2, k-2) mc.cmb(n*m-2, k-2) temp n, m, k = map(int, input().split()) map(int, input().split()) n ans += (h + w) * temp * (n - h) * (m - w) * 2 (h + w) * temp * (n - h) * (m - w) * 2 ans m, k = map(int, input().split()) map(int, input().split()) m class ModCmb:
    def __init__(self, size):
        self.inv = [1] * (size + 1)
        self.fact = [1] * (size + 1)
        temp_inv = [1] * (size + 1)
        for i in range(2, size + 1):
            temp_inv[i] = ( -(MOD // i) * temp_inv[MOD%i] ) % MOD
        for i in range(2, size + 1):
            self.fact[i] = self.fact[i-1] * i % MOD
            self.inv[i] = self.inv[i-1] * temp_inv[i] % MOD

    def cmb(self, n, r):
        if n <= 1 or n == r:
            return 1
        elif r == 1:
            return n
        else:
            return  (self.fact[n] * self.inv[r] % MOD ) * self.inv[n-r] % MOD class ModCmb:
    def __init__(self, size):
        self.inv = [1] * (size + 1)
        self.fact = [1] * (size + 1)
        temp_inv = [1] * (size + 1)
        for i in range(2, size + 1):
            temp_inv[i] = ( -(MOD // i) * temp_inv[MOD%i] ) % MOD
        for i in range(2, size + 1):
            self.fact[i] = self.fact[i-1] * i % MOD
            self.inv[i] = self.inv[i-1] * temp_inv[i] % MOD

    def cmb(self, n, r):
        if n <= 1 or n == r:
            return 1
        elif r == 1:
            return n
        else:
            return  (self.fact[n] * self.inv[r] % MOD ) * self.inv[n-r] % MOD ModCmb ans = 0 0 ans ans += (h + w) * temp * (n - h) * (m - w) (h + w) * temp * (n - h) * (m - w) ans mc = ModCmb(n*m) ModCmb(n*m) mc ans %= MOD MOD ans
n, m, k = map(int, input().split())

MOD = 10 ** 9 + 7

class ModCmb:
    def __init__(self, size):
        self.inv = [1] * (size + 1)
        self.fact = [1] * (size + 1)
        temp_inv = [1] * (size + 1)
        for i in range(2, size + 1):
            temp_inv[i] = ( -(MOD // i) * temp_inv[MOD%i] ) % MOD
        for i in range(2, size + 1):
            self.fact[i] = self.fact[i-1] * i % MOD
            self.inv[i] = self.inv[i-1] * temp_inv[i] % MOD

    def cmb(self, n, r):
        if n <= 1 or n == r:
            return 1
        elif r == 1:
            return n
        else:
            return  (self.fact[n] * self.inv[r] % MOD ) * self.inv[n-r] % MOD

mc = ModCmb(n*m)

temp = mc.cmb(n*m-2, k-2)

ans = 0

for h in range(n):
    for w in range(m):
        if h != 0 and w != 0:
            ans += (h + w) * temp * (n - h) * (m - w) * 2
        else:
            ans += (h + w) * temp * (n - h) * (m - w)
        ans %= MOD

print(ans)