One-sequence 수열

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

연속한 두 원소의 차가 항상 11 또는 1-1 이고 첫 번째 원소가 00 인 정수 수열을 one-sequence 라고 부른다. 정확히 말하면 [a1,a2,,an][a_1, a_2, \ldots, a_n] 이 one-sequence 라는 것은 다음을 만족한다는 뜻이다.

  • 1k<n1 \le k < n 인 모든 kk 에 대해 akak+1=1|a_k - a_{k+1}| = 1 이고,
  • a1=0a_1 = 0 이다.

수열의 길이 nn 과 원소들의 합 SS 가 주어진다. 길이가 nn 이고 합이 SS 인 one-sequence 는 여러 개일 수 있으므로, 그중 사전순으로 가장 작은 수열을 출력해야 한다. 두 수열을 앞에서부터 원소끼리 비교했을 때 처음으로 달라지는 위치의 값이 더 작은 쪽이 사전순으로 앞선다(a1a_1 은 항상 00 이므로 사실상 a2a_2 부터 비교가 결정된다). 길이가 nn 이고 합이 SS 인 one-sequence 가 존재하지 않으면 그 사실을 알려야 한다.

입력

첫째 줄에 수열의 길이 nn 이 주어진다(1n100001 \le n \le 10000). 둘째 줄에 원소들의 합 SS 가 주어진다(S50000000|S| \le 50000000).

출력

길이가 nn 이고 원소들의 합이 SS 인 one-sequence 가 존재하면, 사전순으로 가장 작은 수열의 원소를 한 줄에 하나씩 출력한다(kk 번째 원소를 kk 번째 줄에). 존재하지 않으면 NIE 를 출력한다(폴란드어로 "아니오"라는 뜻이다).