#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
ll N = 1e9+7;
ll oo =1e13;
const ll maxx = 1000000 + 3;
ll n,m,k,q,x,y,z,l,r,mid,ans;
stack<ll>a;
stack<ll>b;
stack<ll>c;
vector<pair<int,int>>out;
void go(ll n,ll a,ll b ,ll c) {
if (n==0)return;
go(n-1,a,c,b);
out.push_back({a,c});
go(n-1,b,a,c);
}
void solve() {
cin>>n;
go(n,1,2,3);
cout<<out.size()<<endl;
for (auto &i:out)cout<<i.first<<' '<<i.second<<endl;
}
int main() {
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
ll t=1 ;
// cin >>t;
while (t--) {
ans=0;
solve();
}
}
CiNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGVuZGwgJ1xuJwpsbCBOID0gMWU5Kzc7CmxsIG9vID0xZTEzOwpjb25zdCBsbCBtYXh4ID0gMTAwMDAwMCArIDM7CmxsIG4sbSxrLHEseCx5LHosbCxyLG1pZCxhbnM7CnN0YWNrPGxsPmE7CnN0YWNrPGxsPmI7CnN0YWNrPGxsPmM7Cgp2ZWN0b3I8cGFpcjxpbnQsaW50Pj5vdXQ7Cgp2b2lkIGdvKGxsIG4sbGwgYSxsbCBiICxsbCBjKSB7CiAgICBpZiAobj09MClyZXR1cm47CiAgICBnbyhuLTEsYSxjLGIpOwogICAgb3V0LnB1c2hfYmFjayh7YSxjfSk7CiAgICBnbyhuLTEsYixhLGMpOwp9CnZvaWQgc29sdmUoKSB7CiAgICBjaW4+Pm47CiAgICBnbyhuLDEsMiwzKTsKICAgIGNvdXQ8PG91dC5zaXplKCk8PGVuZGw7CiAgICBmb3IgKGF1dG8gJmk6b3V0KWNvdXQ8PGkuZmlyc3Q8PCcgJzw8aS5zZWNvbmQ8PGVuZGw7Cn0KaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICBsbCB0PTEgOwogICAgLy8gY2luID4+dDsKICAgIHdoaWxlICh0LS0pIHsKICAgICAgICBhbnM9MDsKICAgICAgICBzb2x2ZSgpOwogICAgfQp9