Informatica Online Judge

  경곽이와 네비게이션 [0997 / 03E5]

Time Limit(Test case) : 1000(ms)
Number of users who solved : 80   Total Tried : 187


The Champion of this Problem (C++) : gs19022 - 0ms / 316byte
My Best Submission (C++) : N/A

[koistudy.net (T. HJ Jeong)]

Background

경곽이가 웹페이지의 페이지 네비게이션을 만들고 있다. 페이지는 1에서 n 페이지로 구성되어 있다. 경순이가 p 페이지에 있다면 다음과 같이 페이지 네비게이션을 표시하고자 한다. 다음과 같은 표기는 일반적인 웹페이지에서 페이지를 이동하고자 하는 경우 사용하는 하나의 형태이다.

형식 : << p-k p-k+1 ... p-1 (p) p+1 ... p+k-1 p+k >>
예제 : << 2 3 4 (5) 6 7 8 9 >>

경순이가 button "<<"을 클릭하면 1페이지로 이동하고 button ">>"을 클릭하면 n 페이지로 이동한다. 물로 다른 숫자 button을 클릭하면 그 숫자 페이지로 이동한다.

다음 조건을 만족하는 페이지 네비게이션을 나타낸다.
페이지가 1이면 button "<<"을 표시하지 않는다. 입출력 예제의 3번과 같은 경우이다.
페이지가 2이면 button ">>"을 표시하지 않는다. 입출력 예제의 2번과 같은 경우이다.
페이지 번호가 1보다 작거나 n보다 크면 또한, 표시하지 않는다.

페이지 네비게이션을 출력하는 프로그램을 작성하시오.

Input

첫 번째 줄에는 n, p, k 의 값이 입력된다.

[입력값의 정의역]
3 ≤ n ≤ 100
1 ≤ p ≤ n
1 ≤ k ≤ n

Output

페이지 네비게이션을 출력한다.

IO Example

입력 1
17 5 2

출력 1
<< 3 4 (5) 6 7 >>


입력 2
6 5 2

출력 2
<< 3 4 (5) 6


입력 3
6 1 2

출력 3
(1) 2 3 >>

입력 4
6 2 2

출력 4
1 (2) 3 4 >>


입력 5
9 6 3

출력 5
<< 3 4 5 (6) 7 8 9


입력 6
10 6 3

출력 6
<< 3 4 5 (6) 7 8 9 >>


입력 7
8 5 4

출력 7
1 2 3 4 (5) 6 7 8

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]