Дана перестановка. За одну операцию в ней можно поменять местами два соседних элемента, значения которых отличаются больше чем на один.
Рассмотрим все перестановки, которые можно получить из данной этими операциями. Назовем расстоянием между двумя перестановки минимальное число таких операций, необходимых для того, чтобы превратить первую перестановку во вторую.
Найдите их количество, а также сумму расстояний от начальной перестановки до всех достижимых.
В первой строке содержится число $$$n$$$ ($$$1 \le n \le 100$$$) — число элементов перестановки. Вторая строка содержит $$$n$$$ различных чисел $$$a_i$$$ ($$$1 \le a_i \le n$$$) — начальную перестановку.
Выведите два числа — количество перестановок, которые можно получить, а также сумму расстояний от начальной до всех достижимых. Выведите оба числа по модулю $$$1\,000\,000\,007$$$.
| Подзадача | Баллы | Ограничения |
| 1 | 15 | $$$n \le 8$$$ |
| 2 | 20 | $$$n \le 15$$$ |
| 3 | 30 | $$$n \le 30$$$ |
| 4 | 20 | $$$n \le 50$$$ |
| 5 | 15 | Без дополнительных ограничений |
4 3 1 4 2
5 5
5 1 2 3 4 5
1 0
6 5 3 1 2 4 6
61 218
В первом примере из начальной перестановки можно получить следующие:
Всего пять перестановок, сумма расстояний до них также равна пяти.
Во втором примере никакие два элемента нельзя поменять местами, поэтому достижима только одна перестановка с расстоянием 0.