만드는 중입니다

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

별 배치

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

요약
별 S개가 주어질 때, a개와 b개가 번갈아 놓인 행으로 정확히 S개를 채우는 모든 배열을 찾아 출력한다.
난이도

쉬움10점 중 3점

유형
수학, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

푸에르토리코가 미국의 주로 편입하는 쪽에 표를 던지자 국기 제조업체가 들썩이고 있다. 별이 50개인 지금의 국기가 별 51개짜리로 바뀌면 국기 판매량이 크게 뛴다.

별 50개를 놓는 지금의 배치는 별 6개짜리 다섯 줄과 별 5개짜리 네 줄을 반 칸씩 어긋나게 번갈아 놓은 모양이다. 별을 다 놓을 때까지 두 종류의 줄이 번갈아 나온다.

* * * * * *
 * * * * *
* * * * * *
 * * * * *
* * * * * *
 * * * * *
* * * * * *
 * * * * *
* * * * * *

이 배치에서는 이웃한 두 줄의 별 개수가 1개를 넘게 차이 나지 않는다. 그래서 첫 줄과 둘째 줄의 별 개수만 적어 배치를 간단히 나타낼 수 있다. 위 배치는 6,5이다.

같은 성질을 만족하면서 별이 51개인 배치로는 별 9개짜리 세 줄과 별 8개짜리 세 줄을 번갈아 놓은 9,8이 있다. 반대로 어느 주가 연방에서 빠진다면 별 7개짜리 일곱 줄, 즉 7,7이 보기 좋은 배치가 된다.

다음 세 조건을 모두 만족하는 배치를 보기 좋은 배치라고 한다.

  • 한 줄 건너뛴 줄끼리는 별 개수가 같다.
  • 이웃한 두 줄의 별 개수는 1개를 넘게 차이 나지 않는다.
  • 첫 줄의 별 개수가 둘째 줄보다 적으면 안 된다.

당신의 팀은 별 51개라는 눈앞의 변화만 보지 않고, 주가 세 개 이상인 어떤 연방의 국기든 팔려고 한다. 국기에 그릴 별 개수 SS가 주어지면 보기 좋은 배치를 모두 찾아라.

입력

첫째 줄에 국기에 그릴 별의 개수 SS가 주어진다. (3≤S≤327673 \le S \le 32767)

출력

첫째 줄에 SS와 콜론을 붙여서 출력한다. 그다음 줄부터 별 SS개로 만드는 보기 좋은 배치의 간단한 표기를 한 줄에 하나씩 출력한다.

첫 줄의 별 개수가 작은 배치부터 출력하고, 첫 줄의 별 개수가 같으면 둘째 줄의 별 개수가 작은 배치부터 출력한다. 한 줄에 별을 SS개 놓는 배치와 별 1개짜리 줄을 SS개 놓는 배치는 뻔하므로 출력하지 않는다.

간단한 표기는 "x,y" 꼴로 쓴다. x와 y 사이에 쉼표 하나만 넣고 다른 문자는 넣지 않는다.

예제3

  1. 예제 1

    입력
    3
    
    예상 출력
    3:
    2,1
    
  2. 예제 2

    입력
    50
    
    예상 출력
    50:
    2,1
    2,2
    3,2
    5,4
    5,5
    6,5
    10,10
    13,12
    17,16
    25,25
    
  3. 예제 3

    입력
    51
    
    예상 출력
    51:
    2,1
    3,3
    9,8
    17,17
    26,25