세 번 이내 터널 연결
시간 제한2초메모리 제한512 MB
일직선 위의 건물 n개를 최대 5n개의 터널로 연결합니다. 모든 건물 쌍 사이에 방향을 유지한 3개 이하 터널 경로가 있어야 합니다.
문제
먼 곳에 있는 도시에 건물 개가 왼쪽에서 오른쪽으로 일직선 위에 놓여 있다. 도시가 일직선 모양이라 교통은 늘 복잡하다.
회사는 대체 교통수단을 제공하려고 건물들을 양방향 지하 터널로 연결하기로 했다. 터널 하나는 건물 두 개를 잇는다. 길 찾기를 쉽게 하기 위해, 서로 다른 임의의 두 건물 , 에 대해 다음 두 조건을 만족하며 에서 로 이동할 수 있어야 한다.
- 항상 같은 방향으로 이동한다. 즉 가 의 오른쪽에 있으면 왼쪽에서 오른쪽으로, 가 의 왼쪽에 있으면 오른쪽에서 왼쪽으로 간다.
- 터널을 3개 이하로 사용한다.
이 조건을 만족하면서 터널이 개 이하인 배치를 설계하라. 가장 적은 개수일 필요는 없다.
입력
첫째 줄에 정수 이 주어진다 ().
출력
첫째 줄에 건설할 터널의 개수 을 출력한다. 다음 개 줄에는 각 터널이 잇는 두 건물의 번호를 출력한다. 건물은 왼쪽에서 오른쪽으로 1부터 까지 번호가 매겨져 있다.
은 이하여야 한다. 터널은 어떤 순서로 출력해도 된다. 모든 터널은 서로 달라야 한다. 예를 들어 "1 2"와 "2 1"을 함께 출력하면 안 된다.