Тетріс — улюблена гра Марини Віталіївни. Ігрове поле складається з стовпців та необмеженої кількості рядків.

Коли фігура з'являється, гравець може повернути її на , чи градусів, а потім переміщати вліво або вправо, поки вона повністю залишається у межах поля. Потім фігура падає донизу, поки не досягне дна поля або іншої фігури. У цій версії тетрісу фігура повинна падати так, щоб усі її частини або торкалися дна поля, або лежали на інших фігурах знизу. Тобто після падіння частин під ними не повинно залишатися порожніх клітинок.
Наприклад, нехай поле має шість стовпців із початковими висотами (кількість вже зайнятих клітинок у кожному стовпці) 2, 1, 1, 1, 0 та . Фігура під номером 5 може впасти п'ятьма різними способами:

Вам задано початкові висоти всіх стовпців і номер фігури, що випадає на поле. Напишіть програму, яка визначає кількість різних способів падіння фігури, тобто кількість різних конфігурацій поля, які можна отримати, не порушуючи правила.
У першому рядку задано два числа та (1 \le C \le 100, 1 \le P \le 7) — кількість стовпців та номер фігури, що випадає.
У другому рядку задано чисел у діапазоні . Це початкові висоти стовпців.
Виведіть кількість можливих конфігурацій поля.
Приклад 1
Приклад 2
Приклад 3