시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB137654.545%

문제

Stablo je struktura koja se sastoji od n vrhova označenih brojevima od 1 do n i n − 1 bridova postavljenih tako da izmedu svaka dva vrha stabla postoji jedinstven put. Dodatno, u svaki vrh je upisan točno jedan znak i to veliko slovo Aili veliko slovo B.

Stablo je uravnoteženo ako ne postoji brid koji povezuje vrhove označene istim slovom. Stablo možemo pokušati uravnotežiti nizom koraka gdje u svakom koraku odaberemo jedan brid i zamijenimo znakove zapisane u vrhovima koje brid povezuje.

Odredite minimalan broj koraka potrebnih da se uravnoteži zadano stablo.

입력

U prvom redu nalazi se prirodni broj n (1 ≤ n ≤ 300 000) — broj vrhova stabla. Sljedeći red sadrži niz od n znakova gdje je svaki znak veliko slovo Aili B— j-ti znak u nizu je znak inicijalno zapisan u vrhu j.

Svaki od sljedećih n − 1 redova sadrži dva različita prirodna broja x i y (1 ≤ x, y ≤ n) — oznake vrhova direktno povezanih bridom. Vrhovi i bridovi čine stablo kao što je opisano u tekstu zadatka.

출력

Ispišite traženi minimalni broj koraka. Ako nije moguće uravnotežiti stablo, ispišite -1.

예제 입력 1

6
AABBAB
1 2
1 3
3 4
3 5
1 6

예제 출력 1

2

예제 입력 2

4
AABB
1 2
1 3
1 4

예제 출력 2

-1

예제 입력 3

8
BABAABAA
1 2
2 5
2 6
2 3
4 3
7 3
7 8

예제 출력 3

5