멱등 함수
시간 제한1초메모리 제한128 MB
집합 {1..n} 위의 함수 f가 주어질 때, g는 순열이고 h는 멱등 함수이며 f = h∘g를 만족하는 순서쌍 (g, h)의 개수를 10^9+7로 나눈 나머지로 구한다.
문제
양의 정수 이 주어진다. 집합 이라고 하자. 함수 가 서로 다른 입력을 항상 서로 다른 값으로 보내면(즉 단사이면) 이 함수를 순열이라고 부른다. 함수 가 모든 에 대해 를 만족하면 이 함수를 멱등 함수라고 부른다.
함수 가 주어진다. 다음 조건을 모두 만족하는 함수 쌍 의 개수를 구하여라.
- 는 순열이다.
- 는 멱등 함수이다.
- 모든 에 대해 이다.
개수가 매우 커질 수 있으므로 로 나눈 나머지를 출력한다.
입력
첫째 줄에 정수 ()이 주어진다.
둘째 줄에 함수 의 정의가 주어진다. ()이 공백 하나로 구분되어 주어진다.
출력
조건을 만족하는 서로 다른 함수 쌍 의 개수를 로 나눈 나머지를 첫째 줄에 출력한다.