만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

산 넘어 산

시간 제한1초메모리 제한64 MB

요약
각 열의 높이와 도로 높이가 주어질 때, 암석과 터널, 다리, 교각을 규칙에 맞게 배치한 N행 M열 그림을 출력한다.
난이도

쉬움10점 중 3점

유형
시뮬레이션, 구현, 행렬
정답자
아직 제출이 없습니다

문제

만리장성, 에펠 탑, 부르즈 할리파까지, 세계의 유명 건축물 뒤에는 늘 CH 주식회사가 있었다. 이 회사는 최근 완공한 거대 고속도로를 대중에게 알리려고 준비 중이다.

CH 주식회사의 직원 범수는 고속도로가 담긴 큰 그림을 그리는 일을 맡았다. 그림은 N×MN \times M 픽셀짜리 디지털 이미지이고, 커다란 산맥과 그 사이를 시원하게 가로지르는 고속도로가 함께 담긴다.

범수는 '.'(ASCII 46)으로 채워진 빈 이미지 위에 그림을 그린다. 범수가 받은 정보는 산의 고도와 고속도로의 높이뿐이다.

산의 고도는 음이 아닌 정수 MM개 H1,H2,…,HMH_1, H_2, \dots, H_M으로 주어진다. 왼쪽에서 ii번째 세로줄은 땅에서부터 높이 HiH_i만큼 산이 차지하고, 산은 '#'(ASCII 35)으로 출력한다.

고속도로는 높이 XX, 즉 아래에서 XX번째 가로줄을 차지한다. 고속도로가 지나는 세로줄의 산 높이가 XX 이상이면 그 자리는 터널이 되고 '*'(ASCII 42)로 출력한다. 산 높이가 XX 미만이면 그 자리는 다리가 되고 '-'(ASCII 45)로 출력한다.

왼쪽에서 ii번째 자리에 다리를 놓을 때 ii가 3의 배수이면 그 자리에 교각을 세워야 한다. 교각은 높이 X−1X - 1인 지점부터 산 바로 위까지를 잇고, '|'(ASCII 124)로 출력한다.

범수가 어제 완성한 그림은 재현이가 휴지통에 넣고 비워버린 탓에 사라졌다. 범수 대신 큰 그림을 다시 그려서 출력하라.

입력

첫째 줄에 이미지의 크기를 나타내는 두 자연수 NN, MM (2≤N,M≤100 0002 \le N, M \le 100\,000, 4≤N×M≤200 0004 \le N \times M \le 200\,000)과 고속도로의 높이 XX (1<X≤N1 < X \le N)가 공백을 사이에 두고 차례대로 주어진다. 둘째 줄에 산의 높이를 나타내는 정수 MM개 H1,H2,…,HMH_1, H_2, \dots, H_M (0≤Hi≤N0 \le H_i \le N)이 공백을 사이에 두고 차례대로 주어진다.

출력

범수의 큰 그림을 NN개의 줄에 걸쳐 출력한다. 위에서 rr번째 줄은 높이가 N−r+1N - r + 1인 가로줄이고, 각 줄은 정확히 MM개의 문자로 이루어진다.

예제2

  1. 예제 1

    입력
    8 10 5
    1 4 2 3 7 8 2 5 3 0
    
    예상 출력
    .....#....
    ....##....
    ....##....
    ----**-*--
    .#|.##.#|.
    .#|###.##.
    .########.
    #########.
    
  2. 예제 2

    입력
    6 3 6
    0 0 0
    
    예상 출력
    ---
    ..|
    ..|
    ..|
    ..|
    ..|