문제
민성이는 허약하기 때문에 약초마을에 가서 N묶음의 한약재, 마 2N개, 그리고 솥 하나를 샀다. 민성이는 사온 재료와 솥을 이용해서 N번에 걸쳐서 한약을 달이려고 하는데, 한 번 달일 때 한약재 한 묶음과 마 2개를 넣고 달인다.
허나, 마들이 상당히 크기 때문에, 마가 솥에 안 들어갈 수도 있다. 그래서 민성이는 마들의 부피와 솥의 부피를 쟀다. 만약, 마 2개를 넣는데, 그 두 개의 부피의 합이 솥보다 크면 마를 넣지 못할 것이다. 같거나 작다면 넣을 수 있다.
민성이를 도와 마들의 부피 Vi 와 솥의 부피 V가 주어질 때 N일 동안 정상적으로 마를 넣는 방법을 구하는 프로그램을 작성하여라.
입력
첫 번째 줄에 N과 솥의 부피 V (1≤N≤1,000, 1≤V≤1,000,000,000) 가 입력된다.
두 번째 줄에는 마들의 부피 V1 V2 ... V2N (1≤Vi≤V) 가 입력된다.
출력
만약 N일 동안 마를 넣을 수 없다면 -1을 출력한다. 그렇지 않으면, N줄에 걸쳐 각 날마다 넣는 두 개의 마의 부피를 출력한다.
답이 여러 개라면 그중 하나만 출력한다.
예제
2 5
1 2 3 4
1 4
2 3
출처
functionx