هذه مهمة برمجة حول بناء متناظر (Palindrome) بشكل تكراري من سلاسل فرعية.

Rust Hard functions

مهمة «هذه مهمة برمجة حول بناء متناظر (Palindrome) بشكل تكراري من سلاسل فرعية.»

إليك نص مهمة البرمجة مترجمًا إلى العربية:

تم إعطاء سلسلة نصية S تتكون من أحرف لاتينية صغيرة. يجب تقسيم السلسلة النصية الأصلية بشكل متكرر (باستخدام دالة) إلى أقل عدد ممكن من السلاسل الفرعية المتناظرة (يجب أن تكون كل سلسلة فرعية متناظرة) وطباعتها مفصولة بمسافة. إذا كان التقسيم غير ممكن (على سبيل المثال، السلسلة النصية فارغة)، اطبع "NO". القيود: طول S من 1 إلى 1000 حرف. مضمون أن الإجابة موجودة.

تنسيق الإدخال

سلسلة واحدة S (1 ≤ |S| ≤ 1000).

تنسيق الإخراج

سلسلة تحتوي على سلاسل فرعية متناظرة (باليندروم) مفصولة بمسافة. إذا كانت السلسلة المدخلة فارغة، قم بإخراج "NO".

أمثلة

مثال 1

الإدخال
racecar
الإخراج
racecar

مثال 2

الإدخال
aab
الإخراج
aa b
main.rs