영선이가 사는 도시에는 집이 N개 있고, 1번부터 N번까지 번호가 붙어 있다. 지금 이 도시에는 도로가 하나도 없다. 영선이는 아래 두 조건을 지키면서 집과 집을 잇는 양방향 도로를 정확히 M개 만들려고 한다.
- 서로 다른 두 집 A와 B는 0<∣A−B∣≤K일 때만 도로로 이을 수 있다. 도로로 이어진 두 집은 서로 인접하다고 한다. 같은 집의 쌍을 잇는 도로를 여러 개 만들 수 있다.
- 모든 집은 짝수 개의 도로와 인접해야 한다.
어떤 집의 쌍을 잇는 도로의 개수가 서로 다르면 두 방법을 다른 방법으로 센다. N, M, K가 주어졌을 때 도로를 만드는 방법의 수를 구하는 프로그램을 작성하시오.