마을 계획
시간 제한3초메모리 제한1024 MB
정점이 N개인 단순 그래프 중 모든 두 정점 사이의 단순 경로가 K개 이하인 것들의 점수(A 값의 곱)를 N=2부터 M까지 각각 구해 더합니다.
문제
RUN 마을의 시장으로서 새 마을을 계획하고 있다. 마을은 집들과, 서로 다른 두 집을 잇는 도로로 이루어진다. 같은 두 집을 잇는 도로는 두 개 이상 있을 수 없다. 즉, 마을은 각 집을 정점으로, 각 도로를 간선으로 하는 단순 그래프로 볼 수 있다. 마을은 연결되어 있지 않을 수도 있다.
마을은 최대한 단순해야 한다. 따라서 서로 다른 임의의 두 집 , 에 대해, 집 에서 집 로 가는 단순 경로는 최대 개여야 한다.
집의 수를 이라 하자. 마을의 점수는 이며, 여기서 는 집 에서 집 로 가는 단순 경로의 개수이다.
집의 수는 아직 정해지지 않았지만 이상 이하의 정수이다. 을 부터 까지 바꿔 가며, 집이 개인 가능한 모든 마을의 점수 합을 구하라.
답이 클 수 있으므로 으로 나눈 나머지를 출력하라.
입력
첫째 줄에 두 정수 과 가 공백으로 구분되어 주어진다.
둘째 줄에 공백으로 구분된 개의 정수 가 주어진다.
출력
부터 까지의 각 에 대해, 집이 개인 가능한 모든 마을의 점수 합을 으로 나눈 나머지를 출력한다. 답은 공백으로 구분한다.