EduBrick

I. Мирные ферзи

2000 мс · 256 МБ · всё или ничего

Определите, сколькими способами на доске N×NN \times N можно расставить NN ферзей так, чтобы никакие два не били друг друга.

Ферзь бьёт по своей строке, своему столбцу и обеим диагоналям. Раз ферзей ровно NN, в каждой строке стоит ровно один — значит, перебирать надо не клетки, а по одному столбцу на строку.

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

Формат ввода

Одна строка содержит число NN (1≤N≤111 \le N \le 11).

Формат вывода

Одно число — количество расстановок.

Примеры

ввод
5
вывод
10
ввод
2
вывод
0
Войдите, чтобы отправлять решения.