#include <bits/stdc++.h>
using namespace std;
int MAX = 1000000;
int MIN = -1000000;
int INF = 1000000000;
int x4[4] = {0, 1, 0, -1};
int y4[4] = {1, 0, -1, 0};
int x8[8] = {0, 1, 1, 1, 0, -1, -1, -1};
int y8[8] = {1, 1, 0, -1, -1, -1, 0, 1};
int i, j, k;
bool cmp(pair<int, int> A, pair<int, int> B) {
  int a1 = A.first;
  int a2 = A.second;
  int b1 = B.first;
  int b2 = B.second;
  if (a1 + a2 != b1 + b2)
    return a1 + a2 < b1 + b2;
  else
    return a1 * a2 < b1 * b2;
}
int main() {
  int n, m, k, sum = 0;
  vector<pair<int, int> > v;
  cin >> n >> m >> k;
  for (i = (1); i < (n + 1); i++) {
    for (j = (1); j < (m + 1); j++) v.push_back(pair<int, int>(i, j));
  }
  sort(v.begin(), v.end(), cmp);
  vector<pair<int, int> > ambil, ans;
  for (i = (0); i < (k); i++) ambil.push_back(v[i]);
  for (i = (0); i < (k); i++)
    sum += (ambil[i].first - 1) + (ambil[i].second - 1);
  cout << sum + k << endl;
  for (int i = ambil.size() - 1; i >= 0; i--) {
    int X = ambil[i].first;
    int Y = ambil[i].second;
    ans.clear();
    for (int x = 1; x <= X; x++) ans.push_back(pair<int, int>(x, 1));
    for (int y = 2; y <= Y; y++) ans.push_back(pair<int, int>(X, y));
    for (int j = 0; j < ans.size(); j++)
      cout << "(" << ans[j].first << "," << ans[j].second << ") ";
    cout << endl;
  }
  return 0;
}
