3332 - 移动零(快慢指针)
Description

把数组里所有的 `0` 移到末尾,其他数字的顺序保持不变。 

例如 `[0,1,0,3,12]` → `[1,3,12,0,0]`。 

 - 慢指针 `slow` 指向下一个非零元素应该放的位置。 - 快指针 `fast` 遍历数组,遇到非零元素就把它放到 `slow` 的位置,然后 `slow++`。 

- 遍历结束后,从 `slow` 到末尾全部填 `0`。


Input

一个数字n;

n个数字a_i,其中有多干个0;

Output

整理后的数字,非零数字顺序不变

Examples

Input

5
1 0 3 0 12

Output

1 3 12 0 0
Hint

80%的数据,n\leq 1000;

100%的数据,n\leq 3\times 10^6;

题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 1
通过次数 1