Coloration

Time limit: 0.2s Memory limit: 32MB Input: coloration.in Output: coloration.out

Johnny a găsit acum câteva zile un joc străvechi în podul bunicului său din Nostilcio. Jocul se numește Coloration și constă dintr-o tablă de lungime NN și lățime 11. Scopul jocului este să colorezi toată tabla folosind paleta cu NN culori găsită lângă tabla de joc, respectând următoarele reguli:

  • Tabla este delimitată în NN celule, fiecare de dimensiune 1×11 \times 1, notate de la stânga la dreapta cu numere de la 11 la NN.
  • Culorile sunt notate cu numere de la 11 la NN.
  • Tabla trebuie colorată complet.
  • Culoarea ii poate acoperi o singură porțiune continuă de celule (l,r)(l, r), cu condiția ca lirl \leq i \leq r, sau poate să nu fie folosită deloc.

Cerință

Mama lui Johnny îi dă o nouă sarcină băiatului, dar el e prea preocupat să se joace Liga Legendelor, așa că vă cere ajutorul vostru: "În câte moduri poate colora Johnny tabla?". Deoarece rezultatul poate fi foarte mare, Mama lui Johnny se mulțumește cu acesta modulo 109+710^9 + 7.

Date de intrare

Pe prima linie a fișierului de intrare coloration.in se găsește un singur număr întreg NN, reprezentând lungimea tablei.

Date de ieșire

Pe prima linie a fișierului de ieșire coloration.out se va găsi un singur număr întreg, numărul de moduri de colorare a tablei modulo 109+710^9 + 7.

Restricții și precizări

  • 1N1 000 0001 \leq N \leq 1 \ 000 \ 000;
# Punctaj Restricții
0 0 Exemplele
1 23 1N81 \leq N \leq 8
2 42 1N1 0001 \leq N \leq 1 \ 000
3 35 Fără restricții suplimentare

Exemplul 1

coloration.in

2

coloration.out

3

Explicație

Sunt 33 moduri de a colora complet tabla cu N=2N = 2 celule:

Varianta 1 Varianta 2 Varianta 3

Exemplul 2

coloration.in

149

coloration.out

395488370

Log in or sign up to be able to send submissions!