고등학교를 막 졸업한 여러분은 진학할 대학교를 찾고 있다. 바이트랜드에는 마법 대학교가 N개 있고, 각 대학교는 흑마법과 백마법 중 하나를 가르친다. 대학교 사이에는 양방향 도로가 N−1개 있으며, 각 도로는 서로 다른 두 대학교를 잇는다. 도로망은 임의의 두 대학교 사이에 경로가 정확히 하나 존재하도록 연결되어 있다.
여러분은 대학교 중 일부를 방문하려고 한다. 각 대학교에는 행복도가 정해져 있고, 그 대학교를 방문하면 전체 행복이 행복도만큼 늘어난다. 행복도가 음수이면 전체 행복은 그만큼 줄어든다.
여행 계획은 서로 다른 두 대학교를 출발지와 목적지로 고르는 것이다. 출발지와 목적지를 포함해, 두 대학교를 잇는 경로 위의 모든 대학교를 방문한다. 균형을 맞추려면 백마법 대학교와 흑마법 대학교를 같은 개수만큼 방문해야 한다.
흑마법 대학교와 백마법 대학교를 같은 개수만큼 방문하는 여행 중에서, 방문한 대학교의 행복도 합이 가장 큰 값을 구하라.
입력은 네 줄로 주어진다.
첫째 줄에 대학교의 개수 N이 주어진다 (2≤N≤105). 대학교에는 1번부터 N번까지 번호가 붙어 있다.
둘째 줄에 "B"와 "W"로만 이루어진 길이 N의 문자열이 주어진다. i번째 문자가 "B"이면 i번 대학교는 흑마법을 가르치고, "W"이면 백마법을 가르친다. 흑마법을 가르치는 대학교와 백마법을 가르치는 대학교가 각각 적어도 하나씩 있다.
셋째 줄에 각 대학교의 행복도 h1,h2,…,hN이 공백으로 구분되어 주어진다 (−105≤hi≤105).
넷째 줄에 정수 v1,v2,…,vN−1이 공백으로 구분되어 주어진다. vi는 vi번 대학교와 i+1번 대학교를 잇는 도로가 있다는 뜻이다 (1≤vi≤i).
흑마법 대학교와 백마법 대학교를 같은 개수만큼 방문하는 여행 중에서, 행복도 합의 최댓값을 정수 하나로 출력한다.