아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

하이퍼 일루미나티

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

요약
m(최대 10^16)이 주어질 때, s단 n차원 하이퍼 계단 피라미드의 블록 수가 m이 되는 n >= 3과 s를 찾고, 없으면 impossible을 출력한다.
난이도

어려움10점 중 8점

유형
수학, 정수론, 이분 탐색, 완전 탐색
정답자
아직 제출이 없습니다

문제

일루미나티의 위대한 힘을 다시 한번 과시할 때가 왔다. 이를 위해 n차원 블록으로 n차원 하이퍼 계단 피라미드를 짓기로 했다.

  • 피라미드의 모든 계단은 n차원 하이퍼 직육면체다.
  • 각 계단은 n번째 차원에서 높이가 정확히 블록 1개다.
  • 피라미드는 s개의 계단으로 이루어지며, 맨 아래 계단은 나머지 n − 1개 차원 각각에서 길이가 s개 블록이다.
  • 그 위의 각 계단은 바로 아래 계단보다 n − 1개 차원 각각에서 1개 블록씩 짧다.
  • 맨 위 계단은 정확히 블록 1개다.

일루미나티 수뇌부는 힘을 더 확실히 증명하기 위해 두 가지 조건을 추가하기로 했다.

  • n은 3 이상이어야 한다.
  • 피라미드를 짓는 데 사용된 블록 수가 의미 있는 수여야 한다.

그림 H.1: 계단 3개로 이루어지고 총 블록 14개를 사용한 3차원 하이퍼 피라미드.

입력

입력은 다음과 같다.

  • 수뇌부가 선택한 의미 있는 수인 정수 m(1 ≤ m ≤ 10^16)이 한 줄에 하나 주어진다.

출력

모든 조건을 만족하는 하이퍼 계단 피라미드가 존재하면 피라미드의 차원 n과 계단 수 s를 한 줄에 출력한다. 존재하지 않으면 impossible을 출력한다. 해가 여러 개면 아무거나 출력해도 된다.

예제4

  1. 예제 1

    입력
    14
    
    예상 출력
    3 3
    
  2. 예제 2

    입력
    9
    
    예상 출력
    4 2
    
  3. 예제 3

    입력
    24
    
    예상 출력
    impossible
    
  4. 예제 4

    입력
    9134731356568978
    
    예상 출력
    5 2147