한과영 학생들이 정보과학2 시험을 치기 위해 일렬로 앉아 있다. 각 학생들은 1반에서 N반 중 하나의 반에 소속되어 있다. 안타깝게도, 같은 반 학생끼리는 서로 너무 가까이 앉아 있다면 치팅을 할 수도 있다.
N개의 양의 정수 K_1, K_2, ⋯, K_N이 주어진다. K_i는 i반에 속한 학생의 수를 의미한다. 당신은 학생들을 잘 정렬해서 임의의 두 같은 반 학생들 사이의 거리의 최솟값을 최대화하려고 한다. 조건을 만족하는 학생 정렬 방법을 찾아보자. 정확히는, i번째 원소가 왼쪽에서 i번째로 앉게 되는 학생의 반 번호를 나타내는 수열 X를 찾아보자.
예를 들어, N=3이고 K_1=1,K_2=2,K_3=3인 경우를 살펴보자. 이는 1반 학생이 1명, 2반 학생이 2명, 3반 학생이 3명 있다는 뜻이다.
이 경우 X=\[3,2,3,1,3,2]은 하나의 답이 될 수 있다. X_i=X_j를 만족하는 두 정수 i, j에 대해 ∣i−j∣의 최솟값이 2이기 때문에, 임의의 두 같은 반 학생들 사이의 거리의 최솟값은 2이다. 이 값이 2보다 큰 정렬 방법은 존재하지 않는다는 것을 증명할 수 있다.
첫 번째 줄에 정수 N이 주어진다.
두 번째 줄에 N개의 정수 K_1, K_2, ⋯, K_N이 주어진다.
조건을 만족하는 수열 X에 대해 sum(K)개의 정수 X_1,X_2,⋯,X_sum(K)을 출력한다.
답이 여러 개 존재한다면 아무거나 출력해도 상관없다.