만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

세 번 이내 터널 연결

시간 제한2초메모리 제한512 MB

요약
일직선 위의 건물 n개를 최대 5n개의 터널로 연결합니다. 모든 건물 쌍 사이에 방향을 유지한 3개 이하 터널 경로가 있어야 합니다.
난이도

보통10점 중 7점

유형
분할 정복, 그래프, 구현
정답자
아직 제출이 없습니다

문제

먼 곳에 있는 도시에 건물 nn개가 왼쪽에서 오른쪽으로 일직선 위에 놓여 있다. 도시가 일직선 모양이라 교통은 늘 복잡하다.

회사는 대체 교통수단을 제공하려고 건물들을 양방향 지하 터널로 연결하기로 했다. 터널 하나는 건물 두 개를 잇는다. 길 찾기를 쉽게 하기 위해, 서로 다른 임의의 두 건물 aa, bb에 대해 다음 두 조건을 만족하며 aa에서 bb로 이동할 수 있어야 한다.

  • 항상 같은 방향으로 이동한다. 즉 bb가 aa의 오른쪽에 있으면 왼쪽에서 오른쪽으로, bb가 aa의 왼쪽에 있으면 오른쪽에서 왼쪽으로 간다.
  • 터널을 3개 이하로 사용한다.

이 조건을 만족하면서 터널이 5n5n개 이하인 배치를 설계하라. 가장 적은 개수일 필요는 없다.

입력

첫째 줄에 정수 nn이 주어진다 (2≤n≤5002 \le n \le 500).

출력

첫째 줄에 건설할 터널의 개수 mm을 출력한다. 다음 mm개 줄에는 각 터널이 잇는 두 건물의 번호를 출력한다. 건물은 왼쪽에서 오른쪽으로 1부터 nn까지 번호가 매겨져 있다.

mm은 5n5n 이하여야 한다. 터널은 어떤 순서로 출력해도 된다. 모든 터널은 서로 달라야 한다. 예를 들어 "1 2"와 "2 1"을 함께 출력하면 안 된다.

예제1

  1. 예제 1

    입력
    5
    
    예상 출력
    5
    1 2
    2 3
    3 4
    4 5
    1 5