// つら #include #define all(v) v.begin(), v.end() #define eb emplace_back #define fast cin.tie(nullptr); ios_base::sync_with_stdio(false) using namespace std; using ll = long long; using ull = unsigned long long; constexpr ll mod = 998244353; int n; int f(int x){ int m = n * n; for(int i = 1 ; i <= m; i++){ if((x - i + m) % m == 0) return i; } } int main(){ cin >> n; if(n <= 2){ cout << -1 << endl; return 0; } int m = n * n; vector> g(m + 1); for(int i = 1; i <= m; i++){ g[i].eb(f(i - 1)); g[i].eb(f(i + 1)); g[i].eb(f(i + n)); g[i].eb(f(i - n)); } cout << m * 2 << endl; for(int i = 1; i <= m; i++){ for(auto to : g[i]){ if(i < to)cout << i << " " << to << endl; } } return 0; }