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

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

색칠 공부 (큰 버전)

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

요약
정n각형의 꼭짓점을 k개 색으로 칠한 뒤 회전, 반사, 색의 임의 교환까지 적용해 같은 것을 하나로 셀 때 서로 다른 색칠의 수를 구한다.
난이도

어려움10점 중 9점

유형
조합론, 수학, 정수론, 비트 연산
정답자
아직 제출이 없습니다

문제

정nn각형의 꼭짓점을 kk개의 색으로 칠한다. 쓰지 않는 색이 있어도 되고, 한 색을 여러 꼭짓점에 써도 된다.

꼭짓점에 시계 방향으로 00번부터 n−1n-1번까지 번호를 붙이면, 돌리기는 꼭짓점 ii를 꼭짓점 i+ji+j로 보내는 대응이고 뒤집기는 꼭짓점 ii를 꼭짓점 j−ij-i로 보내는 대응이다. 꼭짓점 번호는 모두 nn으로 나눈 나머지로 본다.

두 칠하기에 다음 세 연산을 유한 번 적용해서 서로 같아지면, 두 칠하기를 같은 한 가지 경우로 센다.

  • 다각형을 돌린다.
  • 다각형을 뒤집는다.
  • 서로 다른 두 색 XX와 YY를 골라 XX색인 꼭짓점을 모두 YY색으로 바꾸고 YY색인 꼭짓점을 모두 XX색으로 바꾼다. XX색인 꼭짓점이 없거나 YY색인 꼭짓점이 없어도 이 연산을 쓸 수 있다.

서로 다른 칠하기가 몇 가지인지 구하라.

입력

첫째 줄에 nn과 kk가 공백 하나로 구분되어 주어진다.

1≤n≤1091 \le n \le 10^9, 1≤k≤251 \le k \le 25

출력

서로 다른 칠하기의 개수를 1,000,000,007로 나눈 나머지를 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    6 2
    
    예상 출력
    8
    
  2. 예제 2

    입력
    3 3
    
    예상 출력
    3