Hide

Problem M
Löggeng endanleg stöðuvél - Talning

Languages en is

Þú færð endanlega löggenga stöðuvél gefna sem samþykkir málið $\mathcal{L}$. Þú færð svo fyrirspurnir sem biðja um fjölda orða af tiltekinni lengd í $\mathcal{L}$, sem þú skalt prenta í sömu röð og fyrirspurnir eru gefnar.

Inntak

Fyrsta lína inntaksins inniheldur fjórar jákvæðar heiltölur $n$, $c$, $s$ og $f$ þar sem $n$ er fjöldi staða, $c$ er stærð stafrófsins, $s$ er upphafsstaðan og $f$ er fjöldi lokastaða. Önnur línan inniheldur streng $\Sigma = \Sigma _1 \Sigma _2 \dots \Sigma _c$ sem samanstendur af $c$ ólíkum táknum sem eru allt ASCII lágstafir. Þriðja línan inniheldur $f$ ólíkar jákvæðar heiltölur, mengi lokastaða stöðuvélarinnar. Næst fylgja $n$ línur, hver með $c$ jákvæðum heiltölum, sem gefa stöðuskiptatöfluna. Sem sagt, $j$-ta talan á $i$-tu línu gefur stöðuna sem stöðuvélin fer í ef hún var í stöðu $i$ og las inn stafinn $\Sigma _j$.

Hver staða er táknuð með heiltölu frá $1$ til $n$. Gefið er að $n \cdot c \leq 2\, 000$, $1 \leq s \leq n$ og $0 \leq f \leq n$.

Að lokum kemur heiltala $m$, þar sem $1 \leq m \leq 10\, 000$ og svo $m$ línur. Lína $i$ inniheldur heiltöluna $\ell _i$, fyrir öll $1 \leq i \leq m$, sem táknar fyrirspurn um fjölda orða af lengd $\ell _i$ í $\mathcal{L}$. Þú mátt gera ráð fyrir að $\ell _i \cdot n \leq 500\, 000$ fyrir sérhvert $i$.

Úttak

Fyrir sérhverja fyrirspurn skaltu prenta fjölda orða með tilteknu lengdina í $\mathcal{L}$. Þar sem þessar tölur geta verið mjög stórar skaltu skrifa þær út mátaðar við $1\, 000\, 000\, 007$.

Sample Input 1 Sample Output 1
5 2 1 2
ab
4 5
2 3
3 4
4 5
5 4
4 4
5
0
1
2
3
4
0
0
3
8
16
Sample Input 2 Sample Output 2
2 4 1 1
acgt
1
2 2 2 2
2 2 2 2
3
0
1
2
1
0
0