시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
선영이는 세 개의 빈 열로 하는 테트리스 같은 게임을 한다.
게임 중에는 화면 맨 위에 글자가 하나씩 차례로 나타난다. 글자가 나타날 때마다 선영이는 세 열 중 하나를 고른다. 고른 열이 비어 있으면 그 글자를 열의 맨 아래에 놓고, 비어 있지 않으면 그 열의 맨 위에 쌓인 글자 위에 놓는다.
게임이 끝나면 세 열의 점수를 모두 더한 값이 최종 점수다. 한 열의 점수는 다음 방식으로 계산한다.
먼저 열 안에서 서로 인접한 같은 글자들로 이루어진 그룹을 모두 찾는다. 예를 들어 한 열에 다음과 같이 글자가 쌓여 있다고 하자.
AAABCCCAA이 열에는 총 4개의 그룹이 있다. 각 그룹의 크기, 즉 그 그룹에 들어 있는 글자 수에 따라 점수를 더하면 그 열의 점수가 된다.
예를 들어 크기가 1인 그룹은 3점, 크기가 2인 그룹은 7점, 크기가 3인 그룹은 5점이라면, 위 열의 점수는 5 + 3 + 5 + 7 = 20점이다.
각 그룹 크기에 대한 점수와 화면에 나타나는 글자의 순서가 주어진다. 선영이가 얻을 수 있는 최대 점수를 구하라.
첫째 줄에 다섯 개의 자연수 B1, B2, B3, B4, B5가 주어진다. i = 1, 2, 3, 4일 때 Bi는 글자 i개로 이루어진 그룹의 점수이고, B5는 글자 5개 이상으로 이루어진 그룹의 점수이다. 다섯 자연수는 모두 100 이하이다.
둘째 줄에는 화면에 나타나는 글자의 개수 N이 주어진다. (1 <= N <= 1000)
셋째 줄에는 화면에 나타나는 N개의 글자가 순서대로 주어진다. 각 글자는 알파벳 대문자이다.
첫째 줄에 선영이가 얻을 수 있는 최대 점수를 출력한다.
AAABCCCAA