n+1개의 칸이 한 줄로 놓여 있고, 각 칸에는 0번부터 n번까지 번호가 매겨져 있다. 먹보 로봇은 0번 칸에서 출발한다. 0번을 제외한 각 칸에는 부카조이드가 들어 있으며, 로봇이 어떤 칸에 도착하면 그 칸의 부카조이드를 먹는다.
로봇은 앞으로만 움직이며, 다음 두 종류의 점프만 할 수 있다.
로봇은 한 칸 점프를 정확히 m번, 두 칸 점프를 정확히 k번 하며, 이 값들은 m+2k=n을 만족한다. 따라서 모든 점프를 마치면 로봇은 정확히 n번 칸에 도착한다. 이동하는 동안 로봇은 도착한 모든 칸의 부카조이드를 모은다.
로봇이 모을 수 있는 부카조이드의 최대 개수를 구하여라.
첫째 줄에 세 정수 n (1≤n≤100), m (0≤m≤100), k (0≤k≤100)가 주어지며, m+2k=n을 만족한다.
둘째 줄에 n개의 정수가 주어진다. 이는 1,2,…,n번 칸에 들어 있는 부카조이드의 개수를 순서대로 나타내며, 각 값은 0 이상 100 이하이다.
첫째 줄에 모을 수 있는 부카조이드의 최대 개수를 출력한다.
둘째 줄에는 이 최댓값을 달성하는 경로로, 로봇이 지나는 칸 번호 m+k+1개를 0번 칸부터 순서대로 출력한다. 최댓값을 달성하는 경로가 여러 개이면, 칸 번호 수열이 사전순으로 가장 앞서는 것을 출력한다(두 수열을 앞에서부터 위치별로 비교하여, 처음으로 달라지는 위치에서 값이 더 작은 쪽이 앞선다).