#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vi = vector<int>;
using db = double;
int n;
vector<vi> sol;
int main() {
  cin >> n;
  if (n % 2 == 0) {
    sol = {{1, 2, 3}, {2, 3, 4}, {3, 4, 1}, {4, 1, 2}};
    for (int a = 5, b = 6; b <= n; a += 2, b += 2) {
      sol.push_back({a, 1, b, 2}), sol.push_back({a, b, 1}),
          sol.push_back({a, b, 2});
      for (int i = 3, j = 4; j < a; i += 2, j += 2)
        sol.push_back({a, i, b, j}), sol.push_back({a, i, b, j});
    }
  } else {
    sol = {{1, 2, 3}, {1, 2, 3}};
    for (int a = 4, b = 5; b <= n; a += 2, b += 2) {
      sol.push_back({a, b, 1}), sol.push_back({a, b, 1});
      for (int i = 2, j = 3; j < a; i += 2, j += 2)
        sol.push_back({a, i, b, j}), sol.push_back({a, i, b, j});
    }
  }
  cout << sol.size() << endl;
  for (auto i : sol) {
    cout << i.size() << ' ';
    for (auto j : i) cout << j << ' ';
    cout << endl;
  }
  return 0;
}
