#CCBCHBAHAI0000076. Xóa mọi số 0, giữ thứ tự (Remove All Zeros While Preserving Order)

Xóa mọi số 0, giữ thứ tự (Remove All Zeros While Preserving Order)

Xóa mọi số 0, giữ thứ tự (Remove All Zeros While Preserving Order)

Nguồn: Phước Hưng OJ

Phiên bản: Phước Hưng OJ Extended

Đề bài

Cho mảng số nguyên

a0,a1,…,an−1.a_0,a_1,\ldots,a_{n-1}.

Hãy xóa mọi phần tử bằng 00 nhưng giữ nguyên thứ tự tương đối của các phần tử khác 00.

Gọi

$$J=\{i\mid 0\le i<n,\ a_i\ne0\}=\{j_0<j_1<\cdots<j_{m-1}\}.$$

Mảng kết quả có độ dài m=∣J∣m=|J| và

bk=ajk(0≤k<m).b_k=a_{j_k}\qquad (0\le k<m).

Nếu mọi phần tử đều bằng 00, khi đó m=0m=0 và mảng kết quả rỗng.

Input

Dòng đầu chứa nn. Dòng thứ hai chứa nn số nguyên aia_i.

Output

Dòng đầu in mm. Nếu m>0m>0, dòng thứ hai in b0,b1,…,bm−1b_0,b_1,\ldots,b_{m-1}. Nếu m=0m=0, dòng thứ hai để trống.

Subtask

Subtask 1 (20 điểm): 1≤n≤101\le n\le 10, ∣ai∣≤103|a_i|\le 10^3.

Subtask 2 (30 điểm): 1≤n≤50001\le n\le 5000, ∣ai∣≤106|a_i|\le 10^6.

Subtask 3 (50 điểm): 1≤n≤2⋅1051\le n\le 2\cdot 10^5, ∣ai∣≤109|a_i|\le 10^9.

Ví dụ

Input

8
0 5 0 -2 7 0 0 4

Output

4
5 -2 7 4

Giải thích

Các phần tử khác 00 nằm ở chỉ số 1,3,4,71,3,4,7, vì vậy mảng sau compaction là [5,−2,7,4][5,-2,7,4].