일회용 종이컵
시간 제한1초메모리 제한32 MB
A, B, N이 주어질 때, 같은 방향으로 포개진 이웃은 A만큼, 반대 방향 이웃은 A+B만큼 더해지도록 컵 N개를 쌓아 얻을 수 있는 모든 높이를 구한다.
문제
찬우는 종이컵 개를 한 줄로 쌓아 건축물을 만들려고 한다. 삼각형 모양으로 쌓는 것은 너무 어렵다고 생각해서 위아래로만 곧게 뻗은 형태로 만든다. 종이컵 하나는 아래 그림과 같은 형태이다.

컵 하나의 높이는 이다. 아래 컵과 같은 방향을 향한 컵을 그 위에 포개면 위 컵이 아래 컵 안으로 만큼 들어가서 전체 높이는 만큼만 늘어난다. 방향이 서로 반대인 두 컵은 입구끼리 또는 바닥끼리 맞닿아 포개지지 않으므로, 두 덩어리의 높이가 그대로 더해진다.
컵 6개를 )(())) 모양으로 쌓으면 아래 그림과 같다.

, 이면 이 건축물의 높이는 156mm이다.
각 컵의 방향은 자유롭게 정할 수 있다. 찬우를 도와 종이컵 개로 만들 수 있는 건축물의 높이를 모두 구하는 프로그램을 작성하여라.
입력
첫째 줄에 , , 이 공백으로 구분되어 주어진다. (, )
출력
만들 수 있는 건축물의 높이로 가능한 값을 오름차순으로, 한 줄에 공백으로 구분해 출력한다.