만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

배열 순서의 수

시간 제한3초메모리 제한1024 MB

요약
방향이 정해진 트리에서 모든 간선이 앞 방에서 뒤 방으로 향하는 방 순서의 개수를 998244353으로 나눈 나머지로 구합니다.
난이도

보통10점 중 7점

유형
트리, 동적 계획법, 조합론
정답자
아직 제출이 없습니다

문제

오늘 캐럴은 쉬는 날이다. 하지만 이 화창한 봄날에도 그녀는 쉬지 않고 스크럴과의 전투를 대비해 훈련한다. 낯선 곳에서 길을 빨리 찾는 능력은 중요한 기술 가운데 하나다. 이 능력을 갈고닦기 위해 캐럴은 스승인 욘로그를 초대했다.

캐럴과 욘로그는 다음 게임을 한다. 먼저 욘로그가 종이에 스크럴 은신처의 지도를 그린다. 지도에는 11번부터 nn번까지 번호가 붙은 nn개의 방이 있다. 일부 방 쌍은 양방향 통로로 연결된다. 은신처는 어느 방에서든 통로를 따라 다른 모든 방으로 갈 수 있도록 설계되어 있다. 게임이 너무 복잡해지지 않도록 욘로그는 정확히 n−1n - 1개의 통로만 그린다. 즉, 은신처 지도는 트리다.

스크럴은 방 사이로 화물을 옮기는 데 특수 로봇을 쓴다. 로봇은 단순해서 은신처에서 길을 잘 찾지 못한다. 그래서 스크럴은 통로마다 로봇이 이동할 수 있는 방향을 정확히 하나씩 정했다.

욘로그는 지도를 그린 뒤 각 통로에 로봇이 움직이는 방향을 표시한다. 즉, 그린 트리의 간선에 방향을 부여한다.

캐럴은 지도를 정리하기 위해 모든 방 번호를 어떤 순서로든 한 번씩 적은 목록을 만들어야 한다. 이 목록은 다음 조건을 만족해야 한다. 어떤 통로에서든 로봇은 목록에서 앞에 있는 방에서 뒤에 있는 방으로 이동한다. 더 정확히 말하면, 로봇이 방 pip_i에서 방 pjp_j로 통로를 따라 이동할 수 있다면 i<ji < j이어야 한다. 이 목록은 순열 p1p2…pnp_1 p_2 \ldots p_n이다.

캐럴이 과제에 매달리는 동안 욘로그는 이 조건을 만족하는 순열이 모두 몇 개인지 궁금해졌다. 답이 매우 클 수 있으므로 욘로그는 998 244 353998\,244\,353으로 나눈 나머지만 알려 달라고 부탁했다.

입력

첫째 줄에 욘로그가 그린 은신처의 방 개수 nn이 주어진다 (1≤n≤3 0001 \le n \le 3\,000).

이어지는 n−1n - 1개의 줄에는 통로로 직접 연결된 두 방의 번호 aa, bb가 주어진다. 로봇은 이 통로를 방 aa에서 방 bb의 방향으로 이동한다.

은신처는 트리임이 보장된다. 즉, 어느 방에서든 통로를 따라 다른 모든 방에 갈 수 있으며, 이때 이동 방향은 로봇의 이동 방향과 반대여도 된다.

출력

조건을 만족하는 서로 다른 순열 p1p2…pnp_1 p_2 \ldots p_n의 개수를 998 244 353998\,244\,353으로 나눈 나머지를 출력한다.

힌트

첫 번째 테스트에서 캐럴은 {1,2,3}\{1, 2, 3\} 또는 {1,3,2}\{1, 3, 2\} 두 개의 순열을 쓸 수 있다.

두 번째 테스트에서 캐럴은 {2,3,1,4}\{2, 3, 1, 4\}, {2,3,4,1}\{2, 3, 4, 1\}, {2,4,3,1}\{2, 4, 3, 1\} 세 개의 순열을 쓸 수 있다.

예제2

  1. 예제 1

    입력
    3
    1 2
    1 3
    
    예상 출력
    2
    
  2. 예제 2

    입력
    4
    2 3
    3 1
    2 4
    
    예상 출력
    3