RNG 2

0부터 K까지의 정수를 원소로 하는 길이 N 배열 중 전체 XOR이 0이 아닌 배열의 개수를 30011로 나눈 나머지를 구한다.

보통7조합론수학비트 연산아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

길이가 NN이고 모든 원소가 00 이상 KK 이하의 정수인 배열을 생각하자. 이런 배열 중에서 모든 원소를 비트 단위 XOR로 묶은 값이 00보다 큰 것이 몇 개인지 세는 프로그램을 작성하시오.

같은 값이 여러 번 나와도 되고, 나열한 순서가 다르면 서로 다른 배열로 센다.

입력

첫째 줄에 NNKK가 공백으로 구분되어 주어진다. (1N200001 \le N \le 20000, 1K500001 \le K \le 50000)

출력

첫째 줄에 조건을 만족하는 배열의 개수를 3001130011로 나눈 나머지를 출력한다.