एल्गोरिदम और डेटा संरचनाएँ

पर्म्यूटेशन (क्रमचय) जनरेटर

आपको n अद्वितीय तत्त्वों की एक सूची दी गई है। आपका काम इस सूची के तत्त्वों के सभी संभव पर्म्यूटेशन (क्रमचय) उत्पन्न करना और उन्हें लेक्सिकोग्राफ़िक क्रम (lexicographical order) में आउटपुट करना है।

इनपुट

पहली पंक्ति में एकल पूर्णांक n (1 ≤ n ≤ 6) होता है, जो सूची की लंबाई को दर्शाता है।
दूसरी पंक्ति में स्पेस से अलग किए गए n विशिष्ट पूर्णांक (1 ≤ ≤ 100) होते हैं, जो सूची के तत्त्वों को दर्शाते हैं।

आउटपुट

दिए गए सूची के सभी संभावित पर्म्यूटेशन (क्रमचय) आउटपुट करें, जिसमें प्रत्येक पर्म्यूटेशन को एक नई पंक्ति में दिखाया जाए। हर पर्म्यूटेशन के तत्त्व स्पेस द्वारा अलग किए गए हों।

उदाहरण

इनपुट

आउटपुट

3
1 3 2

1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1

Constraints

Time limit: 1.6 seconds

Memory limit: 512 MB

Output limit: 1 MB