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

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

순환수

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

요약
k자리 수 A의 배수 1A부터 kA까지 모두 순환적으로 같은 수일 때, 이러한 A의 배수 가운데 n 이상인 가장 작은 B를 찾는다.
난이도

어려움10점 중 8점

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

문제

바이토시아(Bajtocja)의 학자 모임은 되도록 많은 이른바 순환수(cyclic number)를 찾아내려 합니다. 아래 정의에 따라 이들을 돕는 프로그램을 작성하세요.

kk를 고정된 양의 정수라 하고, AA를 십진법 표기가 정확히 kk자리인 양의 정수라 하자. 이때 최상위 자리에 00이 오는 것도 허용한다. AA의 각 자릿수를 A=(a1,a2,…,ak)A = (a_1, a_2, \ldots, a_k)로 쓰며, a1a_1은 최상위 자리, aka_k는 최하위 자리이다.

kk자리 수 A=(a1,a2,…,ak)A = (a_1, a_2, \ldots, a_k)와 B=(b1,b2,…,bk)B = (b_1, b_2, \ldots, b_k)가 순환적으로 같다(cyclically equal)는 것은, 어떤 ll (1≤l≤k1 \le l \le k)이 존재하여

(a1,a2,…,ak)=(bl,bl+1,…,bk,b1,b2,…,bl−1)(a_1, a_2, \ldots, a_k) = (b_l, b_{l+1}, \ldots, b_k, b_1, b_2, \ldots, b_{l-1})

가 성립하는 것을 뜻한다. 즉 BB의 자릿수를 왼쪽으로 l−1l-1칸 순환 이동시키면 AA의 값과 같아지는 경우이다.

kk자리 수 AA가 순환수라는 것은, 집합 {1⋅A,2⋅A,…,k⋅A}\{1 \cdot A, 2 \cdot A, \ldots, k \cdot A\}에 속한 임의의 두 수가 서로 순환적으로 같다는 것을 뜻한다. 순환수 AA의 가족(family)은 1⋅A,2⋅A,…,k⋅A1 \cdot A, 2 \cdot A, \ldots, k \cdot A인 모든 수를 말한다.

다음을 수행하는 프로그램을 작성하세요.

  • 양의 정수 nn을 입력받는다.
  • 어떤 k≥1k \ge 1이 존재하여 BB가 어떤 kk자리 순환수 AA의 가족에 속하게 되는, nn 이상인 가장 작은 정수 BB를 구한다. 그런 BB가 없으면 존재하지 않음을 판정한다.
  • 구한 BB를 출력하고, 그런 수가 없으면 단어 BRAK을 출력한다.

입력

입력의 첫 줄이자 유일한 줄에 하나의 자연수 nn이 주어진다 (1≤n≤10171 \le n \le 10^{17}).

출력

출력의 첫 줄이자 유일한 줄에 문제의 답인 정수 BB 하나를 출력한다. 그런 수가 존재하지 않으면 단어 BRAK을 출력한다.

예제1

  1. 예제 1

    입력
    428571
    
    예상 출력
    428571