Паліндромний рядок#5911

Паліндромний рядок

0,5 секунди
256 мегабайтів
Легка

У дівчинки Ксюсі є рядок , і вона любить переставляти його букви. Ксюсі стало цікаво, скільки різних паліндромів вона може отримати, переставляючи букви в рядку .

Паліндром — це рядок, який читається однаково зліва направо і справа наліво. Наприклад, рядок "ded" є паліндромом.

Вхідні дані

У вхідних даних записано один рядок , де

1 \leq |s| \leq 20

і складається лише з маленьких латинських літер.

Вихідні дані

Виведіть одне ціле число — скільки різних паліндромів може отримати Ксюся, переставляючи букви рядка .

Приклади

Приклад 1

Loading
Loading

Примітка

Рядок x = x_1x_2\ldots x_p лексикографічно менший за рядок y = y_1y_2\ldots y_q, якщо або p < q і x_1 = y_1, x_2 = y_2, \ldots, x_p = y_p, або існує таке число (r < p, r < q), що x_1 = y_1, x_2 = y_2, \ldots, x_r = y_r і x_{r+1} < y_{r+1}. Символи рядків порівнюються за їх ASCII кодом.