Cho mảng ~a~ gồm ~n~ số nguyên ~a_1, a_2, ..., a_n~. Bạn có thể thay thế một số phần tử ~a_i~ của mảng bằng ~-a_i~ sao cho mảng không giảm hoặc nói rằng điều này là không thể.
Mảng ~a_1, a_2, ..., a_n~ được gọi là mảng không giảm nếu ~a_1 \le a_2 \le ... \le a_n~
INPUT
Dòng đầu tiên chứa số nguyên ~n~ (~1 ≤ n ≤ 10^5~) là số phần tử của mảng ~a~.
Dòng thứ hai chứa ~n~ số nguyên ~a_1, a_2, ..., a_n~ (~-10^9 ≤ a_i ≤ 10^9~) là các phần tử của mảng ~a~.
OUTPUT
Nếu không thể thay thế một số phần tử ~a_i~ bằng ~-a_i~ để làm cho mảng không giảm, thì hãy ghi ra No
.
Ngược lại ghi ra hai dòng, dòng đầu tiên ghi Yes
và dòng thứ hai ghi ~n~ số nguyên ~b_1, b_2, ..., b_n~ tạo thành một mảng không giảm và đối với mọi ~1 ≤ i ≤ n~, ta có ~b_i = a_i~ hoặc ~b_i = -a_i~. Nếu có nhiều câu trả lời thì ghi ra một câu trả lời bất kỳ trong chúng. Chú ý rằng số phép thay thế không cần thiết phải tối thiểu.
SAMPLE INPUT 1
5
1 -1 -2 3 6
SAMPLE OUTPUT 1
Yes
-1 -1 2 3 6
SAMPLE INPUT 2
3
-3 8 5
SAMPLE OUTPUT 2
No
SAMPLE INPUT 3
4
1 2 3 4
SAMPLE OUTPUT 3
Yes
Bình luận