#include <bits/stdc++.h>
using namespace std;
int n, ski = 0 ; //ski dung de tinh so hang,n la de ....................................................................................................................................................................................................................................................................lam so cuoi
vector< int > a; //in ra chuoi banana
bool beo[ 12 ] ;
vector< vector< int >> res;
void backTracking( ) {
if ( a.size ( ) == n) {
res.push_back ( a) ;
return ;
}
for ( int i = 1 ; i <= n; i++ ) {
if ( beo[ i] == false && ( a.size ( ) == 0 || a.size ( ) > 0 && ( i + a.back ( ) ) % 3 ! = 0 ) ) {
beo[ i] = true ;
a.push_back ( i) ;
backTracking( ) ;
a.pop_back ( ) ;
beo[ i] = false ;
}
}
}
int main( ) {
cin >> n;
backTracking( ) ;
cout << res.size ( ) << '\n ' ;
for ( auto perm : res) {
for ( auto i : perm) {
cout << i << " " ;
}
cout << '\n ' ;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbiwgc2tpID0gMDsvL3NraSBkdW5nIGRlIHRpbmggc28gaGFuZyxuIGxhIGRlIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ubGFtIHNvIGN1b2kKdmVjdG9yPGludD4gYTsgLy9pbiByYSBjaHVvaSBiYW5hbmEKYm9vbCBiZW9bMTJdOwp2ZWN0b3I8dmVjdG9yPGludD4+IHJlczsKCnZvaWQgYmFja1RyYWNraW5nKCkgewogICAgaWYgKGEuc2l6ZSgpID09IG4pIHsKICAgICAgICByZXMucHVzaF9iYWNrKGEpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICBpZiAoYmVvW2ldID09IGZhbHNlICYmIChhLnNpemUoKSA9PSAwIHx8IGEuc2l6ZSgpID4gMCAmJiAoaSArIGEuYmFjaygpKSAlIDMgIT0gMCkpIHsKICAgICAgICAgICAgYmVvW2ldID0gdHJ1ZTsKICAgICAgICAgICAgYS5wdXNoX2JhY2soaSk7CiAgICAgICAgICAgIGJhY2tUcmFja2luZygpOwogICAgICAgICAgICBhLnBvcF9iYWNrKCk7CiAgICAgICAgICAgIGJlb1tpXSA9IGZhbHNlOwogICAgICAgIH0KICAgIH0KfQoKaW50IG1haW4oKSB7CiAgICBjaW4gPj4gbjsKCiAgICBiYWNrVHJhY2tpbmcoKTsKICAgIGNvdXQgPDwgcmVzLnNpemUoKSA8PCAnXG4nOwogICAgZm9yIChhdXRvIHBlcm0gOiByZXMpIHsKICAgICAgICBmb3IgKGF1dG8gaSA6IHBlcm0pIHsKICAgICAgICAgICAgY291dCA8PCBpIDw8ICIgIjsKICAgICAgICB9CiAgICAgICAgY291dCA8PCAnXG4nOwogICAgfQp9