التباديل
Problem
إعطاء مجموعة من n أعداد طبيعية مختلفة. يسمى تبديل عناصر هذه المجموعة بالتناوب k إذا كان القاسم المشترك الأكبر لأي عنصرين متجاورين من هذا التقليب هو k على الأقل. على سبيل المثال ، إذا كانت مجموعة العناصر S = {6 ، 3 ، 9 ، 8} معطاة ، فإن التقليب {8 ، 6 ، 3 ، 9} هو تبديل ، والتبديل {6 ، 8 ، 3 ، 9} & -. لا.
التقليب {p
1 ، p
2 ، & hellip ؛، p
n } سيكون أقل معجميًا من التقليب {q
1 < / sub>، q 2 ، & hellip ؛، q n } إذا كان هناك عدد صحيح موجب i (1 & le؛ i & le؛ n) مثل p j sub> = q j عندما j & lt؛ أنا و p i & lt؛ q i .
كمثال ، دعنا نرتب كل التباديل k للمجموعة أعلاه بترتيب معجمي. على سبيل المثال ، هناك أربعة تباينات بالضبط لـ S: {3 ، 9 ، 6 ، 8} ، {8 ، 6 ، 3 ، 9} ، {8 ، 6 ، 9 ، 3} ، و {9 ، 3 ، 6 ، 8}. وفقًا لذلك ، فإن أول تبادلين في الترتيب المعجمي هو المجموعة {3 ، 9 ، 6 ، 8} ، والرابع & ndash؛ مجموعة {9 ، 3 ، 6 ، 8}.
أنت مطالب بكتابة برنامج يسمح لك بإيجاد تبديل m-th k بهذا الترتيب.
إدخال strong>
يحتوي ملف الإدخال في السطر الأول على ثلاثة أرقام طبيعية & ndash؛ n (1 & le؛ n & le؛ 16)، m and k (1 & le؛ m، k & le؛ 10 9 ). السطر الثاني يحتوي على عدد طبيعي مميز لا يتجاوز 10 9 . جميع الأرقام في السطور مفصولة بمسافات.
بصمة strong>
من الضروري إخراج m-th k- التقليب للمجموعة المحددة أو & ndash؛ 1 إذا لم يكن هناك شيء في ملف الإخراج.
أمثلة h5>
# |
إدخال |
الإخراج |
<الجسم>
1 |
4 1 2
6 8 3 9
| 3 9 6 8 |
2 |
4 4 2
6 8 3 9
| 9 3 6 8 |
3 |
4 5 2
6 8 3 9
| -1 |