부터 까지의 모든 정수를 각각 정확히 하나의 더미에 넣어 세 더미로 나누려고 한다.
세 더미의 합이 순서대로 가 되도록 나눌 수 있는지 판단하고, 가능하다면 그러한 분할을 하나 출력하여라.
더미의 순서는 중요하다. 즉, 첫 번째 더미의 합은 , 두 번째 더미의 합은 , 세 번째 더미의 합은 가 되어야 한다.
Input
입력은 다음과 같은 형식으로 주어진다.
Output
가능하다면 첫째 줄에 를 출력한다.
그 다음 개의 줄에 걸쳐 각 더미의 정보를 출력한다. 번째 줄에는 먼저 번째 더미에 들어가는 정수의 개수 를 출력하고, 이어서 그 더미에 들어가는 정수들을 공백으로 구분하여 출력한다.
출력한 정수들은 이상 이하의 모든 정수를 정확히 한 번씩 포함해야 한다. 첫 번째, 두 번째, 세 번째 더미의 합은 각각 여야 한다.
불가능하다면 첫째 줄에 를 출력한다.
Constraints
- .
- .
- .
Subtasks
Samples
예제 1
입력
5
5 7 3
출력
YES
2 1 4
2 2 5
1 3
첫 번째 더미의 합은 , 두 번째 더미의 합은 , 세 번째 더미의 합은 이다.
예제 2
입력
4
1 1 8
출력
NO
합이 인 더미는 정수 을 포함해야 한다. 정수 은 하나뿐이므로 두 더미의 합을 모두 로 만들 수 없다.