В детском саду придумали замечательное развлечение. Каждый ребёнок приносит из дома подарок — большую коробку с чем-нибудь интересным внутри. Содержимое коробок до последнего момента держится в строжайшем секрете. После этого
подарками предстоит поменяться.
Зная, что со своим подарочком придётся расстаться, дети не особо задумываясь начиняют их всякой гадостью: обёртками от конфет, шелухой от семечек, сломанными компьютерными мышами, и даже толстенными ненужными книжками старшего брата с какими-то ослами на обложке.
Поэтому детям совершенно не жалко расставаться со своими подарками, наоборот, ребёнок не успокоится пока кому-нибудь не сплавит свой "подарочек". А сплавив, естественно, уже никогда не возьмёт его обратно. Но при этом если кому-то не достанется подарка взамен его собственного, то он жутко расстроится и своим громким плачем привлечёт внимание воспитательницы, которая наверняка заберёт все эти замечательные коробочки вместе с завораживающим содержимым себе!
Вы, как ответственный за информационное обеспечение данного развлечения, должны посчитать количество различных схем обмена подарочками, чтобы каждый ребёнок остался (хоть ненадолго) довольным. Правда есть одна загвоздка
Вашу настольную книгу по алгоритмам сегодня утром зачем-то утащил в детский сад ваш младший брат. А ведь шестнадцатая глава могла бы сильно помочь
Исходные данные
Одно число n (1 ≤ n ≤ 1000) — количество детей в детском саду.
Результат
Одно число — количество различных схем обмена. Например, для трёх детей А, Б и В есть всего две схемы обмена:
- Подарок А переходит к Б, подарок Б — к В, подарок В — к А.
- Подарок А переходит к В, подарок В — к Б, подарок Б — к А.
Пример
исходные данные | результат |
---|
3 | 2 |
Автор задачи: Павел Егоров (идея — Станислав Васильев)
Источник задачи: IX Чемпионат Урала по спортивному программированию. Екатеринбург, УрГУ, 19-24 апреля 2005 г.