#include <bits/stdc++.h>
const int INF = 1001001001;
const int dx[8] = {0, 0, 1, -1, 1, 1, -1, -1},
          dy[8] = {1, -1, 0, 0, 1, -1, 1, -1};
int N, M, K;
std::pair<int, int> next(const std::pair<int, int>& p) {
  if (p.second % 2 == 1 && p.first == M) {
    return {p.first, p.second + 1};
  }
  if (p.second % 2 == 0 && p.first == 1) {
    return {p.first, p.second + 1};
  }
  if (p.second % 2 == 1) {
    return {p.first + 1, p.second};
  }
  return {p.first - 1, p.second};
}
void output(std::pair<int, int>& p, int t) {
  printf("%d", t);
  while (t--) {
    printf(" %d %d", p.second, p.first);
    p = next(p);
  }
  puts("");
}
int main() {
  std::cin >> N >> M >> K;
  std::pair<int, int> p = {1, 1};
  for (int i = (0); i < (K); i++) {
    if (i == K - 1) {
      output(p, N * M - 2 * (K - 1));
    } else {
      output(p, 2);
    }
  }
}
