Юниорская олимпиада по информатике 2022 года за 8 класс | Казахстанские олимпиады

Задача A. Хулиган-староста

Ограничение по времени Ограничение по памяти
1 секунда 256 мегабайт

В классе учится nn учеников. В школах у каждого школьника есть свое место. Ученик под номером ii сидит за ii-той партой. Сегодня староста класса хочет похулиганить. Она решила посадит учеников так чтобы ни один ученик не сидел на своем месте. Она просит вас найти количество способов это сделать по модулю 109+710^9 + 7. Например, если в классе 3 ученика тогда всего есть два способа как их можно посадить ([231],[312])([2 3 1], [3 1 2]).

Формат входного файла

Дается n(1n1000000)n (1 \leq n \leq 1000000) - количество учеников в классе.

Формат выходного файла

Вывести количество способов по модулю 109+710^9 + 7.

Система оценки

1 \leq n \leq 10 5 баллов
1 \leq n \leq 100 10 баллов
1 \leq n \leq 1000 17 баллов
1 \leq n \eq 100000 23 баллов
1 \leq n \eq 1000000 45 баллов

Примеры

Входные данные

1

Выходные данные

0

Входные данные

5

Выходные данные

44