#include <bits/stdc++.h>
using namespace std;
vector<vector<int> > res;
int main() {
  int n;
  cin >> n;
  if (n % 2 == 0) {
    res.push_back({1, 2, 4});
    res.push_back({3, 2, 4});
    res.push_back({1, 3, 2});
    res.push_back({1, 3, 4});
  } else {
    res.push_back({1, 2, 3});
    res.push_back({1, 2, 3});
  }
  for (int i = (n % 2 == 0 ? 5 : 4); i < n; i += 2) {
    int t = i;
    int s = i + 1;
    int sz = i - 1;
    for (int j = 1; j + 1 < sz; j += 2) {
      res.push_back({j, s, j + 1, t});
      res.push_back({j, s, j + 1, t});
    }
    if (sz % 2 == 0) {
      int before_last = sz - 1;
      int last = sz;
      res.push_back({before_last, s, last, t});
      res.push_back({s, before_last, t});
      res.push_back({s, last, t});
    } else {
      res.push_back({s, sz, t});
      res.push_back({s, sz, t});
    }
  }
  printf("%d\n", (int)res.size());
  for (int i = 0; i < res.size(); i++) {
    printf("%d", (int)res[i].size());
    for (int j = 0; j < res[i].size(); j++) printf(" %d", res[i][j]);
    printf("\n");
  }
  return 0;
}
