#include <iostream>
#include <iomanip>
#include <vector>
#include <string>
#include <algorithm>
#include <random>
#include <cstdio>
#include <cmath>
#include <climits>
#include <map>
#include <queue>
#include <functional>
using namespace std;
typedef long long ll;
#define rep(i, n) for(int i = 0; i < (int) n; i++)
#define rep1(i, n) for(int i = 1; i <= (int) n; i++)
#define all(v) v.begin(),v.end()
const ll mod = 1e9+7;

// int main() {
//     int a,b,c,d;
//     cin >> a >> b >> c >> d;
//     cout << b-c << endl;
//     return 0;
// }
// /*
// int main() {
//     string s;
//     cin >> s;
//     rep(i,s.size()) {
//         if (s[i] == '.') {
//             cout << endl;
//             return 0;
//         }
//         cout << s[i];
//     }
//     cout << endl;
//     return 0;
// }

int main() {
    ll n;
    cin >> n;
    int d = 0;
    ll m = n;
    while (m > 0) {
        d++;
        m /= 10;
    }
    int ans = 0;
    for (int i = 1; i <= 7; i++)
    {
        for (int j = pow(10,i-1); j < pow(10,i); j++)
        {
            if (n >= j*pow(10,i) + j) {
                ans++;
            } else {
                cout << ans << endl;
                return 0;
            }
        }        
    }

    return 0;
}

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n;
int main(){
	cin >> n;
	for(int i=0; i<n ;i++){
		cout << i*2%n+1 << ' ' << (i*2+1)%n+1 << '\n';
	}
}