यहाँ आपका अनुवाद है: सबस्ट्रिंग से पैलिंड्रोम की पुनरावर्ती असेंबली

Rust Hard functions

कार्य «यहाँ आपका अनुवाद है: सबस्ट्रिंग से पैलिंड्रोम की पुनरावर्ती असेंबली»

एक स्ट्रिंग S दी गई है, जो छोटे लैटिन अक्षरों से बनी है। मूल स्ट्रिंग को न्यूनतम संख्या में पैलिंड्रोमिक उपस्ट्रिंग्स (प्रत्येक उपस्ट्रिंग पैलिंड्रोम होनी चाहिए) में पुनरावर्ती रूप से (एक फ़ंक्शन का उपयोग करके) विभाजित करना आवश्यक है और उन्हें स्पेस द्वारा अलग करके प्रिंट करें। यदि विभाजन संभव नहीं है (उदाहरण के लिए, स्ट्रिंग खाली है), तो "NO" प्रिंट करें। सीमाएँ: S की लंबाई 1 से 1000 वर्णों तक। यह गारंटी है कि उत्तर मौजूद है।

इनपुट प्रारूप

एक स्ट्रिंग S (1 ≤ |S| ≤ 1000)।

आउटपुट प्रारूप

एक स्ट्रिंग जिसमें पैलिंड्रोम उपस्ट्रिंग्स हैं, जो स्पेस से विभाजित हैं। यदि इनपुट स्ट्रिंग खाली है, तो "NO" आउटपुट करें।

उदाहरण

उदाहरण 1

इनपुट
racecar
आउटपुट
racecar

उदाहरण 2

इनपुट
aab
आउटपुट
aa b
main.rs