투자한 돈
면접 대비시간 제한0.1초메모리 제한1024 MB
오늘의 요일과 각 예금이 생성된 뒤 지난 일수가 주어질 때, 주말에는 갱신되지 않는 규칙을 적용해 가장 빨리 돌아오는 갱신일까지 기다려야 하는 일수를 구합니다.
문제
요즘 당신의 프로그래밍 실력은 대단해서, 일을 할 때마다 많은 돈을 받습니다. 하지만 재테크 실력은 그만큼 늘지 않았습니다. 그래서 돈을 벌 때마다 자동 갱신이 되는 30일짜리 정기예금으로 은행에 넣어 둡니다. 예금을 넣은 뒤 30일이 지나면 같은 기간인 30일 동안 다시 예치되고, 은행에 갱신 중지와 반환을 요청할 때까지 이 과정이 반복됩니다.
정기예금은 주말에 만들거나 갱신할 수 없습니다. 30일이 주말에 끝나면 갱신은 바로 다음 월요일에 이루어집니다.
오늘이 토요일이고 정기예금을 다섯 개 만들었다고 해 봅시다. 지난주 월요일에 하나, 지난주 화요일에 하나, 지난주 수요일에 하나, 어제 두 개를 만들었습니다. 월요일 예금은 오늘부터 25일 뒤인 수요일에 갱신됩니다. 화요일 예금은 26일 뒤 목요일, 수요일 예금은 27일 뒤 금요일에 갱신됩니다. 금요일에 만든 두 예금은 30일 뒤인 일요일에 갱신되어야 하지만 일요일 갱신은 허용되지 않으므로 월요일에 갱신됩니다. 이 경우 은행에서 돈을 받으려면 25일을 기다려야 합니다.
은행이 돈의 대부분을 보관하고 있으므로, 일상적인 식비 외에 무언가를 사려면 가장 가까운 갱신일까지 기다려야 합니다. 오늘 당신은 6개월 된 기기를 대신할 새 스마트폰을 사기로 했습니다. 각 예금을 만든 날이 주어질 때, 은행에서 돈을 받기 위해 기다려야 하는 최소 일수를 구하세요.
입력
첫째 줄에 오늘의 요일을 나타내는 문자열 T와 정기예금의 개수 N()이 주어집니다. T는 "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" 중 하나이며, 각각 월요일부터 일요일을 뜻합니다.
둘째 줄에는 각 정기예금을 만든 뒤 지난 일수 D1, D2, ..., DN ()이 주어집니다. 정기예금은 주말에 만들어지지 않았습니다.
출력
은행에서 돈을 받기 위해 기다려야 하는 최소 일수를 정수 하나로 출력합니다.