- محدودیت زمان: ۲ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
همانطور که از اسمش بر میآید، خوشقلب به فکر آدمهای بیکار هم هست. از این رو بر آن شده است تا اداره ای تاسیس کند و $n$ نفر را در آن استخدام کند. او الان در مرحلهی طراحی روند اداری این اداره است. او مرتبهی اداری افراد را به صورت زیر چیده است:
کارمندها را به ترتیب ورود به شرکت، با اعداد طبیعی ۱ تا $n$ شمارهگذاری کردهایم. هرکس که به شرکت وارد میشود زیردست نفراتی میشود که قبلا وارد شرکت شده اند(نفر اول زیردست کسی نیست)؛ بنابراین کارمند شماره ۲ زیردست کارمند شماره ۱ است، کارمند شماره ۳ زیردست کارمند شماره ۲ و ۱ است، و ... .
متاسفانه او به اندازهی کافی پول ندارد تا بتواند وسایل تفریحی کافی برای شرکت بخرد. برای همین او تصمیم گرفته است که به کارمندان اجازه دهد که به هم پس گردنی بزنند!! البته هر کسی نمیتواند به هر کسی پس گردنی بزند بلکه یک فرد فقط به آن دسته از زیر دستانش میتواند پس گردنی بزند که قدشان از او کوچکتر باشد.
از آنجایی که آقای خوشقلب آدم خاصی است، سلیقهی خاصی هم دارد. او میخواهد قد افرادش اعداد طبیعی بین ۱ تا $n$ باشد و در عین حال قد هیچ دو نفری یکسان نباشد. همچنین او میخواهد افراد طبق سلیقهی او بتوانند به هم پس گردنی بزنند؛ یعنی او به ازای هر دو نفری میگوید که آیا دوست دارد آن شخصی که مرتبهاش از آن یکی بالاتر است بتواند به او پس گردنی بزند یا نه. برای مثال فرض کنید که او بخواهد که کارمند شماره ۱ بتواند به کارمند شماره ۳ پس گردنی بزند. در این صورت او باید طوری افراد را استخدام کند به طوری که قد کارمند شماره ۱ از کارمند شماره ۳ بیشتر باشد. قد کارمند شماره $i$ را $h_i$ مینامیم.
حالا آقای خوشقلب سلیقهاش را به شما میدهد و از شما میخواهد که به او بگویید که به ازای هر $i$، قد نفری که برای پست $i$ـم استخدام میشود باید چقدر باشد که در نهایت افراد مطابق سلیقهی او بتوانند به هم پس گردنی بزنند.
سلیقهاش را به صورت یک گراف جهتدار به شما میدهد به این صورت که او دوست دارد کارمند شماره $i$ بتواند به کارمند شماره $j$ ($i < j$) پس گردنی بزند اگر و تنها اگر در گرافی که به شما دادهاست، بین راس شماره $i$ و راس شماره $j$ یک یال جهتدار از $i$ به $j$ باشد.
آقای خوشقلب خاص است. پس سلیقهاش هم خاص است. پس گرافی که او به شما میدهد هم خاص است. این گراف دو ویژگی دارد:
۱. اگر در آن کارمند شماره $i$ به $j$ پس گردنی میزند و کارمند $j$ هم به $k$ پس گردنی میزند،($i < j < k$) حتما کارمند $i$ هم به $k$ پس گردنی میزند. (رابطهی تعدی)
۲. هیچ یالی از بین دو راس طوری قرار نگرفته است که معنی اش این باشد که شخصی به بالا دستی اش پس گردنی بزند. مثلا هیچوقت یال جهتداری از راسی ۳ به راس ۱ وجود ندارد. به عبارتی دیگر هیچ یال جهتداری از راسی با شمارهی بزرگتر به راسی با شمارهی کوچکتر وجود ندارد.
ورودی
در سطر اول ورودی دو عدد طبیعی $n$ و $m$ با فاصله از هم آمده است که نمایانگر تعداد کارمندها و تعداد پسگردنیهای که هر روز زده میشود است. در هریک از $m$ سطر بعدی، به ترتیب دو عدد طبیعی $a$ و $b$ با فاصله آمده است که نشان میدهد آقای خوشقلب دوست دارد کارمند شماره $a$ به کارمند شماره $b$ پسگردنی بزند.
$$ 1 \le n, m \le 100\ 000 $$ $$1 \le a < b \le n$$
تضمین میشود گراف ورودی دو شرط گفته شده را دارد.
خروجی
اگر ورودی ها معتبر نبودند(شرکتی به این شکل وجود نداشت)، در تنها خط خروجی "No answer" چاپ شود.
وگرنه در تنها سطر خروجی $n$ عدد با فاصله از هم چاپ کنید که که عدد $i$م نشان دهنده $h_i$ است در یک ادارهای که شرایط گراف گفتهشده توسط خوشقلب را برقرار میکند. (یعنی نفر $a$ آن میتواند به $b$ پسگردنی بزند اگر و تنها اگر در گراف راس $a$ به $b$ یال داشته باشد.)
مثال
ورودی نمونه ۱
2 1
1 2
خروجی نمونه ۱
2 1
ورودی نمونه ۲
3 2
1 2
1 3
خروجی نمونه ۲
3 1 2
ارسال پاسخ برای این سؤال