DA-F93-CA5-2

Time Limit: 10 Seconds    Memory Limit: 262144 KB

‫دختربچه ای يک درخت ‪ n‬راسی دارد. تعدادی از رئوس اين درخت (حداقل يکی) سياه و بقيه سفيدند. مجموعه ای ‪ k‬راسی از يال‬

‫های اين درخت را درنظر بگيريد(‪ .(0<=k<n‬اگر او همه ی اين ‪ k‬يال را از درخت حذف کند, درخت به 1+‪ k‬تکه تبديل ميشود که‬

‫هر تکه خود درخت خواهد بود. او به چند طريق می تواند درخت را تکه تکه کند به طوری که هر تکه دارای دقيقا يک راس سياه‬

‫رنگ باشد. جواب را به پيمانه ی1000,000,007( محاسبه کنيد.‬

 

Input

‫در خط اول ورودی عدد صحيح ‪( n‬تعداد رئوس درخت) داده ميشود.‬

‫در خط دوم 1-‪ n‬عدد صحيح داده ميشود 2-‪ p0, p1, .., pn‬که ‪ 0 <= pi <= i‬و ‪ pi‬نشان می دهد که پدر راس 1+‪ i‬راس ‪ pi‬است.‬

‫(فرض شده رئوس از 5 تا 1-‪ n‬شماره گذاری شده اند و ريشه ی درخت راس 5 است)‬

‫در خط سوم توضيح رنگ رئوس داده ميشود. ‪ n‬عدد صحيح 1-‪ x0,x1,..,xn‬داده ميشود که 1 ‪ xi=0 or‬اگر ‪ xi‬يک بود راس ‪ i‬سياه‬

‫است درغير اين صورت راس ‪ i‬سفيد است.‬

 

Output

‫تعداد روش های تکه تکه کردن درخت را به پيمانه ی 1000,000,007 چاپ‬

‫کنيد.‬

 

Sample Input

10
0 1 2 1 4 4 4 0 8
0 0 0 1 0 1 1 0 0 1

Sample Output

27
Submit