가장 가벼운 언어

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

알파벳 AkA_k 는 영어 알파벳의 처음 kk 개 문자로 이루어진다. 각 문자에는 양의 정수 가중치가 하나씩 정해져 있다. AkA_k 의 문자들로 만든 단어의 가중치는 그 단어에 들어 있는 모든 문자의 가중치를 더한 값이고, 언어(AkA_k 위의 단어들로 이루어진 임의의 유한 집합)의 가중치는 그 언어에 속한 모든 단어의 가중치를 더한 값이다.

어떤 언어에서 한 단어가 다른 단어의 접두사가 되는 경우가 전혀 없으면, 그 언어를 접두사 없는(prefixless) 언어라고 부른다. 정확히 nn 개의 단어로 이루어진 접두사 없는 언어의 가중치가 가질 수 있는 최솟값을 구하는 것이 목표다.

예를 들어 k=2k = 2 이고 W(a)=2W(a) = 2, W(b)=5W(b) = 5 라고 하자. 그러면 W(ab)=2+5=7W(ab) = 2 + 5 = 7 이고 W(aba)=2+5+2=9W(aba) = 2 + 5 + 2 = 9 이다. 언어 {ab,aba,b}\{ab, aba, b\}abababaaba 의 접두사이므로 접두사 없는 언어가 아니다. A2A_2 위에서 단어가 3 개인 가장 가벼운 접두사 없는 언어는 {b,aa,ab}\{b, aa, ab\} 이고, 그 가중치는 5+4+7=165 + 4 + 7 = 16 이다.

nn, kkkk 개 문자의 가중치가 주어질 때, AkA_k 위에서 정확히 nn 개의 단어로 이루어진 접두사 없는 언어의 최소 가중치를 계산하라.

입력

첫째 줄에 두 정수 nnkk 가 공백 하나로 구분되어 주어진다 (2n100002 \le n \le 10\,000, 2k262 \le k \le 26). 각각 언어에 들어가는 단어의 개수와 알파벳의 문자 개수이다.

둘째 줄에는 kk 개의 양의 정수가 공백 하나로 구분되어 주어지며, 각 값은 1000010\,000 이하이다. ii 번째 수는 ii 번째 문자의 가중치이다.

출력

AkA_k 위에서 정확히 nn 개의 단어로 이루어진 접두사 없는 언어의 최소 가중치를 정수 하나로 출력한다.