- Time limit: 6.00 s
- Memory limit: 128 MB
Syöte
Ensimmäisellä rivillä on luvut $n$, merkkijonojen määrä alussa, ja $q$, komentojen määrä.
Seuraavat $n$ riviä sisältävät joukossa valmiina olevat merkkijonot. Jokainen merkkijono on 8 merkin pituinen ja muodostuu merkeistä A–Z.
Seuraavat $q$ riviä sisältävät komennot. Jokaisessa komennossa on kaksi lukua $a$ ja $b$. Komento tarkoittaa, että joukosta valitaan aakkosjärjestyksessä $a$. ja $b$. merkkijono ja joukkoon lisätään uutena merkkijonona näiden merkkijonojen summa. Voit olettaa, että uusi merkkijono ei ole vielä joukossa.
Merkkijonojen summassa jokaiseen kohtaan uutta merkkijonoa tulee vastaavassa kohdissa olevien merkkien summa. Summassa merkit A–Z tulkitaan luvuiksi 0–25 ja uusi merkki on lukujen summa modulo 26. Esimerkiksi N + X = K, koska N ja X vastaavat lukuja 13 ja 23 ja K vastaa lukua 10 (13 + 23 modulo 26).
Tuloste
Ohjelmasi tulee tulostaa jokaisen komennon tuottama uusi merkkijono.
Rajat
- $1\leq n\leq 1000$
- $1\leq q\leq 10000$
Esimerkki
Syöte:
2 3
ABABABAB
BBBBBBBB
1 1
2 3
1 4
Tuloste:
ACACACAC
BDBDBDBD
BEBEBEBE