Time limit: 1s
Memory limit: 64MB
Input: aproapeperm.in
Output: aproapeperm.out
Cerință
Dată fiind o valoare , să se determine câte permutări de lungime există astfel încât orice valoare se află pe una dintre pozițiile , , . În plus, nu sunt permise puncte fixe consecutive (dacă pe poziția se află chiar valoarea , spunem că acolo este un punct fix).
Date de intrare
Pe prima linie a fișierului de intrare aproapeperm.in
se află valoarea .
Date de ieșire
Fișierul de ieșire aproapeperm.out
va conține un singur număr întreg, reprezentând valoarea cerută modulo .
Restricții și precizări
- Pentru teste in valoare de 19 de puncte 1;
- Pentru alte teste in valoare de 22 de puncte 1;
- Pentru alte teste in valoare de 59 de puncte 1;
Exemplul 1
aproapeperm.in
6
aproapeperm.out
8
Explicație
Permutările numărate sunt:
1 2 4 3 5 6
1 2 4 3 6 5
1 3 2 4 6 5
1 3 2 5 4 6
2 1 3 4 6 5
2 1 3 5 4 6
2 1 4 3 5 6
2 1 4 3 6 5