У дівчинки Ксюсі є рядок , і вона любить переставляти його букви. Ксюсі стало цікаво, скільки різних паліндромів вона може отримати, переставляючи букви в рядку .
Паліндром — це рядок, який читається однаково зліва направо і справа наліво. Наприклад, рядок "ded" є паліндромом.
У вхідних даних записано один рядок , де
і складається лише з маленьких латинських літер.
Виведіть одне ціле число — скільки різних паліндромів може отримати Ксюся, переставляючи букви рядка .
Приклад 1
Рядок 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 кодом.