شجره‌نامه


  • محدودیت زمان: ۳ ثانیه
  • محدودیت حافظه: ۵۱۲ مگابایت
  • آزمون عملی سوم فاینال سی و سومین دوره المپیاد کامپیوتر ایران

یاسین تصمیم گرفته شجره‌نامه‌ی خانواده خود را بسازد.

او تصویر n+1n + 1 نفر را در اختیار دارد. همچنین سن هر کدام از افراد را می‌داند. اما از بین این افراد فقط بزرگ خاندان را می‌شناسد.

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

بزرگ خاندان به یاسین می‌گوید که برایش یک درخت ریشه‌دار بسازد. هر راس این درخت یک اندیس دارد و روی راس با اندیس ii، عدد aia_i نوشته شده است. در ابتدا درخت یک راس با اندیس 00 دارد که روی آن عدد ++\infty نوشته شده است.

بزرگ خاندان در nn مرحله، هر مرحله یک راس به درخت اضافه می‌کند.

او در مرحله‌ی ii-ام عدد pip_i را به یاسین می‌گوید و سپس از او می‌خواهد راس ii را به یکی از دو نحو زیر به درخت اضافه کند:

  1. راس ii را فرزند راس pip_i قرار می‌دهد؛ یعنی یک یال بین راس ii و pip_i می‌کشد. (0pi<i0 \leq p_i < i)
  2. بزرگترین خاندان ابتدا از یاسین می‌خواهد که پایین ترین جد راس pip_i را پیدا کند که عددش از aia_i کمتر نباشد. (0pi<i0 \leq p_i < i) در صورتی که apiai a_{p_i} \geq a_i ، راس ii را فرزند راس pip_i قرار می‌دهد؛ یعنی یک یال بین راس ii و pip_i می‌کشد. در غیر این صورت یاسین باید رئوس vv و uu را طوری پیدا کند که :
    • هر دو جد راس pip_i باشند. (راس pip_i هم یکی از اجداد خودش است.)
    • راس vv پدر راس uu باشد.
    • نامساوی au<aiava_u < a_i \leq a_v و به ازای هر راس مانند zz که vv جد zz و zz جد pip_i باشد داریم az<aia_z < a_i
    • حال راس ii را وسط یال vv و uu اضافه می‌کنیم. یعنی راس vv پدر راس ii و راس ii پدر راس uu می‌شود.

در انتها بزرگ خاندان از او می‌خواهد به ازای هر راس از 11 تا nn پدرش در درخت نهایی را به او بگوید. یاسین که از برآورده کردن خواسته‌های پیرمرد‌ها و درخت‌هایشان خسته شده بود از شما می‌خواهد کمکش کنید تا خود را به بزرگ خاندان ثابت کند.

ورودی🔗

در خط اول ورودی nn می آید. 1n1061 \leq n \leq 10^6

سپس در خط iiام از nn خط بعدی، سه عدد tit_i، pip_i و aia_i به ترتیب آمده اند. ti{1,2},0pi<i,1aint_i \in \{1, 2\} ,\quad 0 \leq p_i < i, \quad 1 \leq a_i \leq n

اگر tit_i برابر با 11 بود این عملیات از نوع اول و اگر برابر با 22 بود از نوع دوم است.

خروجی🔗

در تنها خط خروجی باید nn عدد چاپ کنید که عدد ii ام باید پدر راس ii در درخت نهایی باشد.

زیرمسئله‌ها🔗

زیرمسئله نمره محدودیت
۱ ۷ n5000n \leq 5000
۲ ۱۲ ai2a_i \leq 2
۳ ۸۱ بدون محدودیت اضافی

مثال‌ها🔗

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

6
2 0 1
1 1 3
2 2 6
2 1 1
2 4 4
2 3 3
Plain text

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

5 1 0 1 3 3
Plain text