CSES - Palikkapino
  • Time limit: 4.00 s
  • Memory limit: 128 MB

Uolevilla on käytössä rajattomasti palikoita, ja hän haluaa rakentaa niistä joukon sanoja. Jokaisessa palikassa on yksi kirjain, ja Uolevi pinoaa niitä päällekkäin. Sana täytyy lukea ylhäältä alaspäin.

Uolevi voi tehdä kaksi operaatiota: lisätä kirjaimen pinon ylimmäksi tai poistaa pinon ylimmän kirjaimen. Kuinka monta operaatiota Uolevin pitää tehdä vähintään, jotta pino on alussa ja lopussa tyhjä ja prosessin aikana palikat muodostavat ainakin kerran jokaisen sanan.

Syöte

Syötteen ensimmäisellä rivillä on kokonaisluku n: sanojen määrä. Tämän jälkeen syötteessä on n riviä, joista jokainen sisältää yhden sanan. Kaikki sanat muodostuvat kirjaimista A–Z.

Tuloste

Ohjelmasi tulee tulostaa yksi kokonaisluku: pienin mahdollinen operaatioiden määrä.

Rajat

Kaikkien sanojen yhteispituus on enintään 10^5 merkkiä.

Esimerkki

Syöte:

3
MAIJA
KAALI
AAPELI

Tuloste:

28

Selitys: Uolevi lisää ensin kirjaimet I, L, A, A, K, jolloin sana KAALI on muodostunut. Sitten hän poistaa kirjaimet K, A, A ja lisää kirjaimet E, P, A, A, jolloin sana AAPELI on muodostunut. Lopuksi hän poistaa kaikki kirjaimet pinosta, lisää sanan MAIJA kirjaimet ja poistaa taas kaikki kirjaimet. Yhteensä operaatioita on 28.