Un microcontroller poate
fi considerat un microprocesor in miniatura: are registri, memorie, executa
instructiuni dar toate sunt la dimensiuni mult mai mici. Atat de mici, incat
s-ar putea numara cate programe diferite se pot scrie pentru un
anume microcontroller.
Vom considera setul de instructiuni al unui microcontroller
ca fiind o multime de simboluri sigma={s1,s2,...,sk}.
Un program de lungime N, este un sir de N astfel de
simboluri din sigma.
Desi microcontroller-ele au aceste limitari, autorii
de virusi nu au fost intimidati si ca atare exista in circulatie mai multi
virusi foarte periculosi. Un virus este tot un program,
deci va fi definit ca mai sus.
Cerinta
Se cere sa numarati cate programe
de lungime N se pot scrie pentru microcontroller, care nu contin virusul dat.
Date de intrare
Prima linie a fisierului microvirus.in va contine multimea sigma, formata din K simboluri distincte. Un simbol este un caracter din multimea {A..Z, a..z, 0..9}. A doua linie va contine programul
virusului, care este un sir de M simboluri din sigma (nu neaparat distincte). A treia linie contine numarul intreg N. Fisierul de intrare nu contine spatii.
Date de iesire
Se va scrie pe prima linie a fisierului microvirus.out un numar intreg reprezentand cate programe de lungime N exista, care nu contin virusul.