Empodia에 관한 또 다른 문제
시간 제한2초메모리 제한512 MB
길이 i인 순열을 framed interval(최댓값과 최솟값의 차가 구간 길이에서 1을 뺀 값인 구간) 관계로 묶었을 때의 동치류 개수를 각 i마다 소수 P로 나눈 나머지로 구한다.
문제
길이 의 순열 에서 어떤 연속 부분 수열 이 을 만족하면, 이 연속 부분 수열을 프레임 구간(framed interval)이라고 부른다. 예를 들어 , , , 는 프레임 구간이다. , 은 프레임 구간이 아니다.
길이 의 순열 와 두 정수 이 주어졌을 때, 은 이 프레임 구간이면 참이고, 아니면 거짓이다.
길이가 인 두 순열 가 주어졌을 때, 모든 에 대해서 가 항상 만족하면 를 프레임 구간 동형(framed interval isomorphic)이라고 정의한다.
프레임 구간 동형 관계는 길이가 인 모든 순열들 사이의 동치 관계(equivalence relationship)이다. 인 모든 순열을 프레임 구간 동형 관계로 묶었을 때, 동치류(equivalence class)의 개수를 소수 로 나눈 나머지를 모든 에 대해 출력하라.
입력
첫 번째 줄에 두 정수 가 주어진다. (, ). 는 소수이다.
출력
개의 줄을 출력하라. 이 중 번째 줄에는, 길이 인 모든 순열의 동치류의 개수를 로 나눈 나머지가 출력되어야 한다.