#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
int dir;
int n, m;
vector<pair<int, int> > ans;
void add(pair<int, int> &pos) {
  int x = pos.first, y = pos.second;
  if (dir == 1) {
    if (y + 1 > m) {
      pos.first++;
      dir = 0;
    } else
      pos.second++;
  } else if (dir == 0) {
    if (y - 1 < 1) {
      pos.first++;
      dir = 1;
    } else
      pos.second--;
  }
}
void print(pair<int, int> a) { cout << " " << a.first << " " << a.second; }
int main() {
  int k;
  while (cin >> n >> m >> k) {
    dir = 1;
    int tk = k;
    ans.clear();
    pair<int, int> pos = make_pair(1, 1);
    int cnt = 0;
    while (k > 1) {
      ans.push_back(pos);
      add(pos);
      ans.push_back(pos);
      add(pos);
      cnt += 2;
      k--;
    }
    if (k == 1) {
      while (cnt != n * m) {
        ans.push_back(pos);
        add(pos);
        cnt++;
      }
    }
    int i = 0;
    while (tk > 1) {
      cout << 2;
      print(ans[i]);
      print(ans[i + 1]);
      cout << endl;
      i += 2;
      tk--;
    }
    if (tk == 1) {
      cout << ans.size() - i;
      while (i < ans.size()) print(ans[i++]);
      cout << endl;
    }
  }
  return 0;
}
