기러기 대 매
시간 제한1초메모리 제한512 MB
두 팀의 경기 기록을 짝지어 승패 결과가 서로 맞아떨어지도록 하면서, 짝지어진 경기에서 두 팀이 기록한 점수의 합이 최대가 되도록 한다.
문제
Troy와 JP는 열렬한 하키 팬이다. 이번 시즌 모든 하키 팀은 N경기를 치렀다. 각 경기는 두 팀 사이에서 열렸고, 더 많은 점수를 낸 팀이 이겼다. 무승부는 없었다.
Troy가 응원하는 팀은 Waterloo Geese이고, 그는 이 팀의 모든 경기 결과를 문자열 S로 기록했다. Geese가 i번째 경기에서 이겼으면 Si = W이고, 졌으면 Si = L이다. 또한 i번째 경기에서 얻은 점수를 Ai로 기록했다.
JP가 응원하는 팀은 Laurier Hawks이고, 그는 이 팀의 모든 경기 결과를 문자열 T로 기록했다. Hawks가 j번째 경기에서 이겼으면 Tj = W이고, 졌으면 Tj = L이다. 또한 j번째 경기에서 얻은 점수를 Bj로 기록했다.
Troy와 JP는 각자 응원하는 팀이 경기를 치른 순서대로 승패와 점수를 기록했다.
라이벌 경기는 Geese와 Hawks가 서로 맞붙은 경기이다. Troy도 JP도 상대 팀이 누구였는지는 기록하지 않았기 때문에, 두 팀이 맞붙은 경기가 있는지, 있다면 어느 경기인지 알 수 없다. 두 사람은 자신이 기록한 정보와 일치하면서 라이벌 경기에서 두 팀이 얻은 점수의 합이 최대가 될 때 그 값이 얼마인지 궁금해한다.
입력
첫째 줄에 정수 N (1 ≤ N ≤ 1 000)이 주어진다.
둘째 줄에 문자 W와 L로 이루어진 길이 N의 문자열 S가 주어진다.
셋째 줄에 N개의 정수 A1, ..., AN (1 ≤ Ai ≤ 1 000 000)이 주어진다.
넷째 줄에 문자 W와 L로 이루어진 길이 N의 문자열 T가 주어진다.
다섯째 줄에 N개의 정수 B1, ..., BN (1 ≤ Bj ≤ 1 000 000)이 주어진다.
출력
가능한 라이벌 경기에서 얻은 점수의 합의 최댓값을 한 줄에 출력한다.