فهرست مندرجات

Decrypt

سازمان جاسوسی آدم‌های فضایی برای مخابره‌ی خبرهایش به مریخ، از نوع خاصی مکالمات رمزی استفاده می‌کند تا دیگران قادر به فهمیدن این خبرها نباشند. هر خبر فضایی، یک رشته‌ی به طول $n$ از اعداد ۱ تا $d$ است و پس از رمز شدن نیز یک رشته با همین طول از اعداد ۱ تا $d$ باقی می‌ماند. برای رمز‌گشایی یک خبر رمزی باید یک از اعداد ۱ تا $d$ و یک عدد که « عدد جابه‌جایی» خوانده می‌شود، در اختیار دشته باشیم. کافی است کل خبر را به اندازه‌ی «عدد جابه‌جایی» به راست شیفت دوری دهیم و سپس جایگشت مورد نظر را روی اعداد اعمال کنیم تا متن خبر به دست آید.

اعمال یک جایگشت بر روی یک دنباله از اعداد باعث می‌شود عددهای ۱ در دنباله به عدد اول جایگشت،… و عددهای $d$ به عدد آخر جایگشت تبدیل شوند. شیفت دوری به راست به اندازه‌ی $x$ باعث می‌شود $x$ عنصر آخر دنباله‌ با همان ترتیب در اول دنباله قرار گیرند.

ما عدد جابه‌جایی و جایگشت مورد نیاز برای رمز‌گشایی خبر رمزی مخابره شده را در اختیار نداریم. اما حدس می‌زنیم خبر، چیز مشخصی باشد و می‌خواهیم بررسی کنیم آیا عدد جابه‌جایی و جایگشتی قابل تصور است که اگر خبر رمز شده با استفاده از آن‌ها رمز‌گشایی شود، خبر حدس ما به دست آید.

شما باید برنامه‌ای بنویسید که عدد جابه‌جایی و جایگشت قابل قبول را پیدا کند یا اعلام کند که چنین اعدادی وجود دارند.

برنامه‌ای بنویسید که:

ورودی

خروجی

محدودیت‌ها

ورودی و خروجی نمونه

ورودی نمونه خروجی نمونه
6 3
1 2 3 3 2 1
1 3 3 1 2 2
2
3 1 2
6 3
1 2 3 3 2 1
1 3 3 2 2 1
No solution