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

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

짝수싫어수

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

요약
10^N 미만의 수 중 3, 5, 7만 사용하고 각 숫자의 개수가 모두 홀수인 수를 큰 순서로 세어 K번째를 구한다.
난이도

보통10점 중 7점

유형
조합론, 동적 계획법, 수학, 구현
정답자
아직 제출이 없습니다

문제

도도의 친구는 짝수를 싫어한다. 어느 정도냐면 짝수만 봐도 불을 뿜으며 빡! 하고 화를 낼 정도이다.

친구를 위해 도도는 짝수싫어수를 고안했다.

짝수싫어수는 33, 55, 77로 이루어져 있으며 33의 개수, 55의 개수, 77의 개수가 동시에 짝수가 아닌 수이다. 숫자가 00번 사용되었으면 짝수로 생각한다.

예를 들어 7575는 77의 개수가 11개, 55의 개수가 11개, 33의 개수가 00개로 모든 숫자의 개수가 동시에 짝수가 아니므로 짝수싫어수이다.

10N10^N보다 작은 수 중 KK번째로 큰 짝수싫어수를 출력하는 프로그램을 만들어보자.

답이 존재하지 않는 입력이 주어지는 경우는 없다.

입력

첫째 줄에 정수 NN (1≤N≤301 \le N \le 30) 과 정수 KK (1≤K≤263−11 \le K \le 2^{63}-1)가 주어진다.

출력

첫째 줄에 10N10^N보다 작은 수 중 KK번째로 큰 짝수싫어수를 출력한다.

힌트

263−12^{63}-1 은 8byte 자료형으로 표현할 수 있다.

하지만 예제 2 출력값인 357335535573573353577573355337357335535573573353577573355337 은 8byte 자료형으로 표현할 수 없다.

예제3

  1. 예제 1

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

    입력
    30 125527562340212
    
    예상 출력
    357335535573573353577573355337
    
  3. 예제 3

    입력
    29 96511468169355
    
    예상 출력
    3