#include <bits/stdc++.h>
using namespace std;
#pragma warning(disable : 4996)
#pragma comment(linker, "/STACK:10000000")
long long mas[1000][100], ma[1000][100];
queue<pair<int, int> > ans;
int main() {
  int n, m;
  bool q;
  cin >> n >> m >> q;
  if (!q) {
    for (int i = 1; i < m; i++) {
      for (int j = i; j >= 1; j--) {
        ans.push((make_pair(j, j + 1)));
      }
    }
  } else {
    for (int i = m; i > 1; i--) {
      for (int j = i; j <= m; j++) {
        ans.push((make_pair(j, j - 1)));
      }
    }
  }
  cout << ans.size() << '\n';
  while (!ans.empty()) {
    cout << ans.front().first << ' ' << ans.front().second << '\n';
    ans.pop();
  }
  return 0;
}
