درخت تقسیم


  • محدودیت زمان: ۴ ثانیه
  • محدودیت حافظه: ۵۱۲ مگابایت

شنگدباو روی ساختمان‌داده‌‌ای جدید به نام درخت تقسیم دارد کار می‌کند این درخت از nn راس تشکیل شده‌است و هر رأس بجز رأس شماره 11 یک پدر دارد یعنی رأس ii ام پدرش pip_i است و pi<ip_i < i می‌باشد. شنگدباو قرار است روی هر راس برچسبی بنویسد به طوریکه:

  • برچسب هر رأس از برچسب رأس پدرش بیشتر یا مساوی باشد.
  • باقیمانده‌ی تقسیم ii بر برچسب رأس iiام صفر باشد.

با توجه به اینکه تعداد حالت‌های برچسب گذاری ممکن است خیلی زیاد باشد٬‌ شنگدباو گیج شده‌است و می‌خواهد بداند چند حالت مختلف برچسب گذاری هست که این شرایط را داشته باشد. به شنگدباو کمک کنید!

با توجه به اینکه تعداد حالات ممکن است زیاد باشد باقیمانده‌ی جواب را بر 109+710^9 + 7 خروجی دهید.

ورودی🔗

در خط اول ورودی به شما عدد nn یعنی تعداد رئوس درخت داده می‌شود و سپس در خط بعدی n1n-1 عدد ورودی داده می‌شود که عدد iiام pi+1p_{i+1} است.

1n500 0001\le n \le 500\ 000

1pi<in1 \le p_i < i \le n

خروجی🔗

در یک خط تنها تعداد حالات جواب را به پیمانه ی 109+710^9 + 7 خروجی دهید.

ورودی نمونه ۱🔗

4
1 1 1
Plain text

خروجی نمونه ۱🔗

12
Plain text

ورودی نمونه ۲🔗

5
1 2 2 3
Plain text

خروجی نمونه ۲🔗

11
Plain text