KK-POP

시간 제한1초메모리 제한1024 MB

요약
양의 정수 K가 주어질 때, 리프 노드 수와 내부 노드 수의 곱이 K인 이진 트리 중 노드 수가 최소인 트리를 찾아 간선을 출력한다.
난이도

보통10점 중 7점

유형
트리, 그리디, 정수론, 구현
정답자
아직 제출이 없습니다

문제

K-POP은 한국의 대중문화이다. SCSC의 동아리방에 거주하는 수인이는 PS를 한국의 새로운 대중문화로 만들고자, KK-POP을 다음과 같이 새로 정의하였다.

어떤 이진 트리 TT가 양의 정수 KK에 대해 다음 조건을 만족하면, TT는 KK-POP(Perfect Outcome of Product)이라고 한다.

  • TT의 리프 노드의 수와 리프 노드가 아닌 노드의 수의 곱이 KK이다.

이때 이진 트리는 모든 노드의 자식 노드의 수가 22 이하인 루트 있는 트리를, 리프 노드는 이진 트리에서 자식 노드의 수가 00인 노드를 의미한다.

양의 정수 KK가 주어질 때, KK-POP들 중 노드 수가 최소인 KK-POP 중 하나를 출력하시오.

입력

첫째 줄에 정수 KK가 주어진다. (1≤K≤100,000)(1 \le K \le 100\\,000)

출력

첫째 줄에 KK-POP의 노드 수의 최솟값 NN을 출력한다.

루트 노드 11과 루트가 아닌 노드 22, 33, ⋯\cdots, NN으로 구성된 KK-POP을 구성하여, 둘째 줄부터 N−1N-1개의 줄에 간선에 대한 정보를 하나씩 출력한다.

ii번째 줄에는 ii번째 간선이 연결하는 두 정점 a_ia\_i와 b_ib\_i를 공백으로 구분하여 출력한다. (1≤a_i,b_i≤N)(1 \le a\_i, b\_i \le N)

입력 조건을 만족하는 모든 KK에 대해 KK-POP이 항상 존재함을 증명할 수 있다.

예제2

  1. 예제 1

    입력
    1
    
    예상 출력
    2
    1 2
    
  2. 예제 2

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