- محدودیت زمان: ۱ ثانیه
- محدودیت حافظه: ۵۱۲ مگابایت
در یک شرکت برنامهنویسی، $n$ برنامهنویس مشغول به کار هستند. این برنامهنویسها با اعداد ۱ تا $n$ شمارهگذاری میشوند. سیستم مدیریتی این شرکت به صورت یک درخت است. یعنی هر برنامهنویس به جز برنامهنویس شمارهی ۱، یک مدیر دارد. مدیر برنامهنویس $i$ را با $p_i$ نشان میدهیم. در واقع ساختار این شرکت به صورت یک درخت ریشهدار است.
عید نوروز نزدیک است و این برنامهنویسها میخواهند از شرکت خارج شوند و برای سفر به شهر کدکاپ بروند. زمانی برنامهنویس شمارهی $i$ میتواند از شرکت خارج شود که $p_i$ هم از سازمان خارج شده باشد.
برای هر $k$ از ۱ تا $n$ حساب کنید چند زیرمجموعه $k$ عضوی از برنامهنویسها میتوانند از شرکت خارج شوند. چون ممکن است پاسخ خیلی بزرگ باشد، باقیماندهی آن را بر $10^9 + 7$ چاپ کنید.
ورودی
در سطر اول ورودی، عدد صحیح و مثبت $n$ آمده که تعداد برنامهنویسهای شرکت را نشان میدهد. $$2 \leq n \leq 10 , 000$$
در سطر دوم ورودی، $n - 1$ عدد صحیح $p_2, p_3, \dots, p_n,$ میآید. $$1 \leq p_i \lt i$$
خروجی
خروجی $n$ سطر دارد و در سطر $k$ام تعداد حالتهایی که $k$ نفر شرکت را ترک کنند محاسبه کنید.
مثالها
ورودی نمونه ۱
3
1 1
خروجی نمونه ۱
1 2 1
توضیح نمونه ۱
- برای حالت $k = 1$ فقط باید یک برنامهنویس شرکت را ترک کند و آن فقط $1$ است. (۱ حالت)
- برای حالت $k = 2$ فقط باید دو برنامهنویس شرکت را ترک کنند و آنها میتوانند $1, 2$ یا $1, 3$ باشند. (۲ حالت)
- برای حالت $k = 3$ فقط باید سه برنامهنویس شرکت را ترک کنند و آنها میتوانند $1, 2, 3$ هستند. (۱ حالت)
ورودی نمونه ۲
5
1 1 2 2
خروجی نمونه ۲
1 2 3 3 1
توضیح نمونه ۲
مشابه نمونهی قبل مجموعه افرادی که میتوانند خارج شوند عبارت است از:
$$k = 1 \to {1}$$ $$k = 2 \to {1, 2}, {1, 3}$$ $$k = 3 \to {1, 2, 3}, {1, 2, 4}, {1, 2, 5}$$ $$k = 4 \to {1, 2, 3, 4}, {1, 2, 3, 5}, {1, 2, 4, 5}$$ $$k = 5 \to {1, 2, 3, 4, 5}$$
ارسال پاسخ برای این سؤال