만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

순열

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

요약
길이가 n인 순열 중 뒤집었을 때 역전 쌍의 수가 그대로인 순열을 사전순으로 k번째 것을 찾습니다. 없으면 NIE를 출력합니다.
난이도

어려움10점 중 8점

유형
조합론, 수학, 그리디
정답자
아직 제출이 없습니다

문제

길이가 nn인 순열은 1부터 nn까지의 자연수가 각각 정확히 한 번씩 나타나는 수열이다. 서로 다른 두 원소 중 큰 쪽이 작은 쪽보다 수열에서 앞에 나오는 쌍을 역순쌍이라고 한다. 안정적인 순열은 모든 원소의 순서를 뒤집어도 역순쌍의 개수가 변하지 않는 순열이다. 사전 순으로 kk번째에 오는 길이 nn의 안정적인 순열을 구하라.

입력

첫 줄에 두 정수 nn, kk가 주어진다 (1≤n≤2500001 ≤ n ≤ 250000, 1≤k≤10181 ≤ k ≤ 10^{18}). nn은 순열의 원소 개수이고, kk는 구할 순열의 번호이다.

출력

길이 nn의 kk번째 안정적인 순열이 존재하면 첫 줄에 TAK을, 둘째 줄에 순열의 원소를 한 칸씩 띄워 출력한다. 존재하지 않으면 첫 줄에 NIE만 출력한다.

힌트

원소가 4개인 경우 안정적인 순열은 모두 6개이다: (1, 4, 3, 2), (2, 3, 4, 1), (2, 4, 1, 3), (3, 1, 4, 2), (3, 2, 1, 4), (4, 1, 2, 3).

예제2

  1. 예제 1

    입력
    4 3
    
    예상 출력
    TAK
    2 4 1 3
    
  2. 예제 2

    입력
    4 57
    
    예상 출력
    NIE