인상적인 정수
시간 제한1초메모리 제한512 MB
1000 이하의 n이 주어질 때, 한 변의 길이가 a 또는 b인 정삼각형 n개로 큰 정삼각형을 채울 수 있는지 판단하고, 가능하면 타일링을 출력합니다.
문제
최근 앨리스와 여동생 클라라는 adorable 수에 대해 배웠다. 양의 정수 에 대해 정수 , , 가 존재하여 한 변의 길이가 인 정삼각형을 한 변의 길이가 또는 인 작은 정삼각형 개로 채울 수 있으면 을 adorable하다고 한다. 예를 들어 은 아래 그림 I.1a와 같이 adorable하다.
두 사람은 누가 더 많은 adorable 수를 찾는지 겨뤄 보기로 했지만, 모든 수를 손으로 확인하기는 너무 번거롭다. 그래서 앨리스는 클라라가 제시한 수가 adorable한지 확인해 달라고 부탁했다. 앨리스는 adorable하다고 주장된 수가 정말 adorable한지 확실히 하고 싶어 하므로, 주어진 정수 이 adorable한지 판별하고 adorable하다면 그림 I.1a와 같은 타일링을 출력하는 프로그램을 작성해 달라고 했다.
입력
입력은 다음과 같다.
- 양의 정수 () 하나.
출력
이 adorable하면 다음 형식으로 유효한 타일링을 출력한다.
-
정수 () 세 개. 한 변의 길이가 인 정삼각형을 한 변의 길이가 와 인 정삼각형 개로 채울 수 있어야 한다.
-
개의 줄. 각 줄은 삼각형 하나를 나타내며 다음으로 구성된다.
A와B중 하나. 삼각형의 한 변 길이가 인지 인지 나타낸다.- 두 정수 . 삼각형의 가장 왼쪽 꼭짓점을 나타낸다.
U와D중 하나. 삼각형이 위쪽을 향하는지 아래쪽을 향하는지 나타낸다.
이 삼각형들은 꼭짓점이 인 정삼각형의 유효한 타일링을 이루어야 한다. 모든 좌표는 그림 I.1b의 좌표계를 따른다.
이 adorable하지 않으면 impossible을 출력한다.
모든 삼각형의 크기가 같다면 모든 삼각형에 A 또는 B 중 하나만 사용해도 되고, 로 두고 각 삼각형을 A 또는 B로 임의로 표시해도 된다.
입력 범위에 있는 모든 adorable한 수에 대해 이 규칙을 따르는 타일링을 만들 수 있음이 알려져 있다. 유효한 타일링이라면 어떤 것을 출력해도 된다.

