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.
n, m, k = map(int, input().split()); i = 0
for i in range(k - 1):
    print(2, end=' ')
    print(i % n + 1, i // n * 2 + 1, i % n + 1, i // n * 2 + 2)

def solveRest(n, m, k, i):
    if k == n * m // 2:
        i += 1
        print(i % n + 1, i // n * 2 + 1, i % n + 1, i // n * 2 + 2, end=' ')
    elif k < n * m // 2:
        ii = i
        if i % 2:
            i += 1
            print(i % n + 1, i // n * 2 + 2, i % n + 1, i // n * 2 + 1, end=' ')
        while ii // n == (i + 2) // n:
            i += 1
            print(i % n + 1, i // n * 2 + 1, i % n + 1, i // n * 2 + 2, end=' ')
            i += 1
            print(i % n + 1, i // n * 2 + 2, i % n + 1, i // n * 2 + 1, end=' ')
        if ii // n == (i + 1) // n and ii // n != (i + 2) // n:
            i += 1
            print(i % n + 1, i // n * 2 + 1, i % n + 1, i // n * 2 + 2, end=' ')
        x = i % n + 1; y = i // n * 2 + 3
        i = i * 2 + 2
        flag = True
        while i < n * m:
            print(x, y, end=' ')
            if flag:
                x -= 1
                if x == 0:
                    x = 1
                    y += 1
                    flag = False
            else:
                x += 1
                if x == n + 1:
                    x -= 1
                    y += 1
                    flag = True
            i += 1
    return i

print(n*m - 2*(k - 1), end=' ')
if k == 1:
    print(1, 2, 1, 1, end=' ')
if m % 2:
    i = solveRest(n, m - 1, k, i)
    x = n
    while x > 0:
        print(x, m, end=' ')
        i += 1; x -= 1
else:
    solveRest(n, m, k, i)
