Valera has got a rectangle table consisting of *n* rows and *m* columns. Valera numbered the table rows starting from one, from top to bottom and the columns – starting from one, from left to right. We will represent cell that is on the intersection of row *x* and column *y* by a pair of integers (*x*, *y*).

Valera wants to place exactly *k* tubes on his rectangle table. A tube is such sequence of table cells (*x*<sub class="lower-index">1</sub>, *y*<sub class="lower-index">1</sub>), (*x*<sub class="lower-index">2</sub>, *y*<sub class="lower-index">2</sub>), ..., (*x*<sub class="lower-index">*r*</sub>, *y*<sub class="lower-index">*r*</sub>), that: 
 -  *r* ≥ 2; -  for any integer *i* (1 ≤ *i* ≤ *r* - 1) the following equation |*x*<sub class="lower-index">*i*</sub> - *x*<sub class="lower-index">*i* + 1</sub>| + |*y*<sub class="lower-index">*i*</sub> - *y*<sub class="lower-index">*i* + 1</sub>| = 1 holds; -  each table cell, which belongs to the tube, must occur exactly once in the sequence. 
Valera thinks that the tubes are arranged in a fancy manner if the following conditions are fulfilled: 
 -  no pair of tubes has common cells; -  each cell of the table belongs to some tube. 
Help Valera to arrange *k* tubes on his rectangle table in a fancy manner.
The first line contains three space-separated integers *n*, *m*, *k* (2 ≤ *n*, *m* ≤ 300; 2 ≤ 2*k* ≤ *n*·*m*) — the number of rows, the number of columns and the number of tubes, correspondingly.
import sys
from math import log2,floor,ceil,sqrt,gcd
# import bisect
# from collections import deque
# sys.setrecursionlimit(7*10**4)

Ri = lambda : [int(x) for x in sys.stdin.readline().split()]
ri = lambda : sys.stdin.readline().strip()
 
def input(): return sys.stdin.readline().strip()
def list2d(a, b, c): return [[c] * b for i in range(a)]
def list3d(a, b, c, d): return [[[d] * c for j in range(b)] for i in range(a)]
def list4d(a, b, c, d, e): return [[[[e] * d for j in range(c)] for j in range(b)] for i in range(a)]
def ceil(x, y=1): return int(-(-x // y))
def INT(): return int(input())
def MAP(): return map(int, input().split())
def LIST(N=None): return list(MAP()) if N is None else [INT() for i in range(N)]
def Yes(): print('Yes')
def No(): print('No')
def YES(): print('YES')
def NO(): print('NO')
INF = 10 ** 18
MOD =  1000000007




n,m,k= Ri()
route = []

d = 1
i = 0
j = 0
while(i < n and j < m):
    # print(i,j)
    if d== 1 :
        if  j + 1 < m:
            route.append([i,j])
            route.append([i,j+1])
            j+=2
            if j >= m:
                i+=1
                j = m-1
                d= -1
        else:
            route.append([i,j])
            i+=1
            j= m-1
            route.append([i,j])
            j-=1
            d = -1
        
    else:
        if  j - 1 >= 0:
            route.append([i,j])
            route.append([i,j-1])
            j-=2
            if j < 0:
                i+=1
                j = 0
                d= 1
        else:
            route.append([i,j])
            i+=1
            j= 0
            route.append([i,j])
            j+=1
            d = 1
    if not ((0<= i < n) and (0<= j < m)):
        break
i,j = route[-1]
if not ((0<= i < n) and (0<= j < m)):
    route.pop()
for i in route:
    i[0]+=1
    i[1]+=1
ite = 0
for i in range(k-1):
    print("2",end = " ")
    print(*route[ite],end=" ")
    ite+=1
    print(*route[ite],end = " ")
    ite+=1
    print()
print(n*m - (k-1)*2,end = " ")
for  i in range(ite,len(route)):
    print(*route[i],end = " ")
        
    
        