Lernaean Hydra
Xem dạng PDFỞ vùng đầm lầy Lerna có một con quái vật tên là Hydra. Người ta đồn rằng nó là sinh vật bất tử, vì mỗi khi một chiếc đầu bị chặt đứt, nó lại mọc thêm những chiếc đầu mới.
Anh hùng Heracles đến đầm lầy với thanh kiếm sắc và một cuốn sổ tay. Sau nhiều đêm quan sát, anh phát hiện con Hydra hiện tại có ~N~ cái đầu, được đánh số từ ~1~ đến ~N~ và nối với nhau thành một cái cây có gốc tại đầu ~1~ (đầu ~1~ chính là phần thân). Đầu ~i~ (~2 \le i \le N~) là con trực tiếp của đầu ~p_i~.
Heracles chỉ có thể chặt một đầu ~u~ khi ~u~ là đầu lá (không có đầu con) và ~u \ne 1~. Gọi ~v~ là cha của ~u~. Khi chặt ~u~:
- Nếu ~v = 1~ (đầu ~u~ nối trực tiếp vào thân): đầu ~u~ bị xóa khỏi cây và không có gì xảy ra thêm. Đây là nơi Hydra không thể hồi phục.
- Ngược lại, gọi ~t~ là cha của ~v~. Đầu ~u~ bị xóa khỏi cây. Sau đó, cây con gốc ~v~ (ở trạng thái hiện tại, sau khi đã xóa ~u~) được sao chép thành ~2~ bản sao mới. Gốc của hai bản sao này là ~v_1~ và ~v_2~, cả hai đều trở thành con trực tiếp của ~t~. Như vậy, sau thao tác, ~t~ có thêm hai cây con giống hệt cây con gốc ~v~.
Hydra bị đánh bại khi chỉ còn lại đầu ~1~.
Có thể chứng minh rằng dù Heracles chọn thứ tự chặt như thế nào, Hydra cũng sẽ bị đánh bại sau một số hữu hạn nhát kiếm. Tuy nhiên, số nhát kiếm phụ thuộc rất nhiều vào thứ tự chặt, và Heracles muốn đánh bại Hydra bằng số nhát kiếm ít nhất có thể.
Số nhát kiếm cần thiết có thể lớn đến mức cuốn sổ của anh không đủ chỗ để ghi, nên anh chỉ ghi lại phần dư khi chia số nhát cho ~998\,244\,353~. Bạn hãy giúp Heracles tính xem anh cần ghi con số nào nhé!
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên ~N~ (~1 \le N \le 2 \cdot 10^5~).
- Dòng thứ hai chứa ~N - 1~ số nguyên ~p_2, p_3, \dots, p_N~ (~1 \le p_i < i~), trong đó ~p_i~ là cha của đầu ~i~. Nếu ~N = 1~ thì dòng này để trống hoặc không có.
Kết quả
In ra một số nguyên duy nhất là số nhát kiếm tối thiểu để đánh bại Hydra, lấy phần dư khi chia cho ~998\,244\,353~.
Ví dụ
Ví dụ 1
Input
4
1 2 3
Output
41
Ví dụ 2
Input
7
1 2 2 4 4 4
Output
539048079
Ví dụ 3
Input
1
Output
0
Ghi chú
- Mỗi lần chặt (trường hợp ~v \ne 1~), cây con gốc ~v~ sau khi xóa ~u~ xuất hiện tổng cộng ~3~ lần dưới ~t~ (bản gốc và ~2~ bản sao).
Bình luận