2015 C Programming Contest (Week 15)

From: 2015-06-10 15:30:00 To: 2015-06-10 16:50:00 Now: 2024-11-23 17:08:30 Status: Public

A - WCSPC 2015 A

Time Limit: 1s Memory Limit: 128MB

Submissions: 502 Solved: 177
Description

어떤 자연수 X가 주어졌다고 할 때, 이 자연수 X는 서로 다른 세 자연수의 합으로 이루어질 수 있습니다. 예를 들어서 9라는 숫자는 1 2 6나 1 3 5, 2 3 4의 세 자연수의 합으로 만들어지죠.

이처럼 자연수 X가 들어왔을 때, 서로 다른 세 자연수의 합이 X가 되는 모든 조합을 오름차순으로 출력하세요. 단, 중복되는 조합을 출력해서는 안 됩니다.(1 2 6이 출력되었으면 2 1 6은 출력해서는 안 되는거죠.)

만약 서로 다른 세 자연수의 합이 x가 될 수 없는 경우에는 NULL을 출력합시다.

 

(Eng)
When there is natural number X is given, this natural number X could be sum of three different natural numbers. For exmaple, number 9 is sum of 1 2 6, 1 3 5, or 2 3 4.

Like this, when natural X is given, print out all possible combination of three natural numbers which sum of them is X by ascending order. However you should NOT print duplicated combination.(If 1 2 6 is printed, then 2 1 6 shouldn't be printed.)

If sum of three different natural number is not X, then print 'NULL'.

Input

Line 1 : 입력 받을 자연수의 개수(N)

Line 2 ~ N+1 : 자연수 X

 

(Eng)
Line 1 : The number of natural numbers that will receive as input.(N)

Line 2 ~ N+1 : Given natural number X

Output

Line 1 ~ : 합이 X가 되는 모든 세 자연수의 조합(오름차순)

합이 X가 되는 세 자연수가 없다면 NULL을 출력

 

(Eng)
Line 1 ~ : All combination of three numbers which sum of them same as X

If there is no case such that sum of three different natural number is X, then print 'NULL'.

Sample Input
3
9
1
14
Sample Output
1 2 6
1 3 5
2 3 4
NULL
1 2 11
1 3 10
1 4 9
1 5 8
1 6 7
2 3 9
2 4 8
2 5 7
3 4 7
3 5 6