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())

A = []

count = 0

i = 0
j = 0

OPP = False

while count != M * N:
    if K > 1:
        K -= 1
        count += 2

        temp = [2]

        temp.append((i + 1, j + 1))

        if OPP == False and j == M - 1:
            i += 1
            OPP = True
            temp.append((i + 1, j + 1))
        elif OPP == True and j == 0:
            i += 1
            OPP = False
            temp.append((i + 1, j + 1))
        else:
            if OPP == False:
                j += 1
            else:
                j -= 1

            temp.append((i + 1, j + 1))

        # Push to next cell

        if OPP == False and j == M - 1:
            i += 1
            OPP = True
        elif OPP == True and j == 0:
            i += 1
            OPP = False
        else:
            if OPP == False:
                j += 1
            else:
                j -= 1

        A.append(temp)

    else:
        temp = [M * N - count]

        temp.append((i + 1, j + 1))

        for x in range(M * N - count - 1):


            if OPP == False and j == M - 1:
                i += 1
                OPP = True
                temp.append((i + 1, j + 1))
            elif OPP == True and j == 0:
                i += 1
                OPP = False
                temp.append((i + 1, j + 1))
            else:
                if OPP == False:
                    j += 1
                else:
                    j -= 1

                temp.append((i + 1, j + 1))

        count = M * N

        A.append(temp)

for segment in A:
    print(segment[0], end = " ")

    for i in range(1, segment[0] + 1):
        print(*segment[i], end = " ")

    print("")