도로망 설계도 계산

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

바이트맨(Byteman)이 바이트랜드(Byteland)를 자동차로 여행하려 하지만, 나라의 지도를 구하지 못했다. 그는 친구들에게서 바이트랜드 도로망에 관한 몇 가지 사실을 알아냈다.

  • 바이트랜드에는 11번부터 nn번까지 번호가 붙은 도시가 nn개 있다.
  • 모든 도로는 양방향이며, 서로 다른 두 도시를 잇는다.
  • 서로 다른 임의의 두 도시 사이에는, 도로 하나 이상으로 이루어지고 같은 도시를 두 번 지나지 않는 경로가 정확히 하나 존재한다.
  • 그러한 경로 중 도로 수가 가장 많은 경로는 정확히 dd개의 도로로 이루어진다.

두 번째와 세 번째 조건을 합치면 이 도로망이 트리(tree)임을 알 수 있다. 즉 연결되어 있고 사이클이 없으며, 따라서 도로는 정확히 n1n - 1개다. 여기서 dd는 이 트리에서 가장 긴 경로에 놓인 도로의 수(트리의 지름)다.

바이트맨이 알아낸 모든 사실과 모순되지 않는 도로망 하나를 복원하거나, 그런 도로망이 존재하지 않음을 판정하라.

입력

입력의 유일한 줄에는 공백 하나로 구분된 두 정수 nndd가 주어진다 (2n2002 \le n \le 200, 0d<n0 \le d < n).

출력

조건을 만족하는 도로망이 존재하지 않으면 BRAK(폴란드어로 없음을 뜻함) 한 단어만 한 줄에 출력한다. 이는 d=0d = 0이거나, d=1d = 1이면서 n3n \ge 3인 경우에 정확히 해당한다(도시가 셋 이상인 트리의 지름은 항상 22 이상이다).

그 외의 경우에는 정확히 n1n - 1개의 줄을 출력한다. 유효한 여러 설계도 중 다음의 특정한 설계도를 반드시 출력해야 한다.

  1. 먼저 도시 1,2,,d+11, 2, \ldots, d + 1을 잇는 중심 사슬의 도로 dd개를 한 줄에 하나씩 순서대로 출력한다. 1 2, 그다음 2 3, 이런 식으로 d d+1까지 출력한다.
  2. c=d/2+1c = \lfloor d / 2 \rfloor + 1이라 하자. 그런 다음 남은 각 도시 jj에 대해 j=d+2j = d + 2부터 nn까지 증가하는 순서로 도로 c j를 출력하여, 도시 jj를 도시 cc에 직접 잇는다.

각 줄에는 하나의 양방향 도로가 잇는 서로 다른 두 도시의 번호를 공백 하나로 구분하여 적는다.

힌트