#include using namespace std; int main() { int N; cin >> N; priority_queue>que; for(int i = 1; i < 2*N; i++) { que.push({i,-i}); } cout << 2*N-1 << endl; int res = 0; for(int i = 1; i < 2*N; i++) { for(int j = 1; j <= min(2,i); j++) { res++; vectorans; vectortmp; ans.push_back(i); for(int k = 1; k < N; k++) { pair x = que.top(); que.pop(); tmp.push_back(x.first); ans.push_back(-x.second); } for(int k = 0; k < tmp.size(); k++) { que.push({tmp[k]-1,-ans[k+1]}); } for(int k = 0; k < N; k++) { cout << ans[k] << ((k+1 == N)?"\n":" "); } if(res == 2*N-1) { return 0; } } } }