एल्गोरिथ्म्स और डेटा स्ट्रक्चर्स

पैलिन्ड्रोम (Palindromes)

ऐसी स्ट्रिंग्स जो बाएँ से दाएँ और दाएँ से बाएँ एक जैसी पढ़ी जाती हैं, उन्हें पैलिन्ड्रोम (Palindrome) कहते हैं (जैसे radar, madam, या racecar)।
एक स्ट्रिंग s दी गई है। आपको बताना है कि अलग-अलग कितने तरीक़ों से s में से अक्षर हटाकर पैलिन्ड्रोम बनाया जा सकता है। ध्यान दें कि अगर स्ट्रिंग स्वयं ही पैलिन्ड्रोम है, तो किसी अक्षर को हटाए बिना भी पैलिन्ड्रोम बनाया जा सकता है। साथ ही, अक्षर हटाने की अनुक्रमणिका (sequence) का कोई असर नहीं पड़ता।

इनपुट

इनपुट में स्ट्रिंग s दी जाती है (1 ≤ |s| ≤ 60), जो बड़े लैटिन अक्षरों से बनी होती है।

आउटपुट

प्रोग्राम को उन सभी अलग-अलग तरीक़ों की संख्या प्रिंट करनी चाहिए, जिनसे s से एक पैलिन्ड्रोम बनाया जा सकता है।

Examples

Input
Output
BAOBAB
22

व्याख्या

  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
  1. BAOBAB
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue