남초 학교와 여초 학교를 잇는 도로만 사용해 모든 학교를 연결하는 최소 신장 트리의 길이를 구하고, 불가능하면 -1을 출력한다.
깽미는 24살 모태솔로다. 이대로 대마법사가 될 수는 없다고 생각한 깽미는 자신의 프로그래밍 실력으로 미팅 애플리케이션을 만들기로 했다. 이 앱은 대학생을 대상으로 하며, 대학교 사이의 도로 데이터를 모아서 만들었다.
앱은 사용자에게 사심 경로를 제공한다. 사심 경로는 다음 세 조건을 만족한다.
예를 들어 도로 데이터가 왼쪽 그림과 같다면, 오른쪽 그림의 보라색 선처럼 경로를 구성하면 위의 세 조건을 모두 만족한다.
주어진 도로 데이터로 사심 경로의 길이를 구해 보자.
첫째 줄에 학교의 수 NNN과 학교를 잇는 도로의 수 MMM이 주어진다. (2≤N≤1 0002 \le N \le 1\,0002≤N≤1000, 1≤M≤10 0001 \le M \le 10\,0001≤M≤10000)
둘째 줄에 NNN개의 문자가 공백으로 구분되어 주어진다. iii번째 문자는 iii번 학교가 남초 대학교이면 M, 여초 대학교이면 W이다.
M
W
다음 MMM개의 줄에는 각각 세 정수 uuu, vvv, ddd가 주어진다. uuu번 학교와 vvv번 학교가 길이 ddd인 도로로 이어져 있다는 뜻이다. (1≤u,v≤N1 \le u, v \le N1≤u,v≤N, 1≤d≤1 0001 \le d \le 1\,0001≤d≤1000)
깽미가 만든 앱의 사심 경로 길이를 출력한다. 조건을 만족하는 도로만으로 모든 학교를 연결할 수 없다면 -1을 출력한다.
-1