산 넘어 산

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

쉬움3시뮬레이션구현행렬아직 제출이 없습니다시간 제한1초메모리 제한64 MB

문제

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

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

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

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

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

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

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

입력

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

출력

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