După zile întregi de muncă, vrăjitorul Arpsod a terminat de confecționat noua sa baghetă magică, cea mai puternică de până acum. Ca să o testeze, el s-a gândit la următorul antrenament: își va lua K
ținte miscătoare și se va apuca să tragă în ele cu cea mai puternică vrajă a lui, “Blatus Blast”. Fiind o magie foarte solicitantă, vrăjitorul a hotărat că va trage doar de N
ori. Arpsod este un trăgător extraordinar, astfel fiecare din cele N
lovituri va nimeri exact una din cele K
ținte. Într-o sesiune de N
lovituri, unele ținte pot fi lovite de mai multe ori iar altele niciodată. Vrăjitorul consideră că sesiunea de antrenament este reușită numai dacă fiecare țintă a fost lovită CEL PUȚIN O DATĂ.
De exemplu, dacă avem 3
trageri și 2
ținte, avem următoarele 6
soluții:
1 1 2 ( unde 1
sau 2
reprezintă indicele țintei lovite )
1 2 1
1 2 2
2 1 1
2 1 2
2 2 1
Cerința
În timp ce se odihnește pentru următoarea sesiune de antrenament, ca să mai treacă timpul, a început să numere în câte moduri ar fi putut lovi țintele astfel încât sesiunea de antrenament să fie una reușită.
Curioși din fire, v-ați apucat și voi să numărați dar, văzând că numărul modalităților devine prea mare, ați decis să vă mulțumiți cu restul împărțirii acestui număr la 666013
.
Date de intrare
Pe prima linie a fișierului arpsohood.in
se vor afla două numere naturale separate prin spațiu: N
și K
, reprezentând numărul de trageri pe care le va executa Arpsod respectiv numărul de ținte pe care le are la dispoziție.
Date de ieșire
În fișierul arpsohood.out
se va scrie, pe prima și singura linie din fișier, numărul de moduri de a lovi țintele astfel încât fiecare țintă să fi fost lovită cel puțin o dată. Acest rezultat se va afișa modulo 666013
.
Restricții și precizări
1 ≤ K ≤ N ≤ 500
- O lovitură va atinge exact una dintre cele
K
ținte - Se garantează că pentru
20%
din teste1 ≤ K ≤ N ≤ 8
Exemplu:
arpsohood.in
3 2
arpsohood.out
6
Explicație
Avem următoarele 6
soluții:
1 1 2
1 2 1
1 2 2
2 1 1
2 1 2
2 2 1