市场
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在一个热闹的市场中,有 n 个摊位,编号为 1,2,…,N。第 i 个摊位位于坐标 a_i 的位置,所有摊位都在 x 轴上。你从坐标 0 的入口出发,依次前往各个摊位购物。从坐标 a 到坐标 b 所需要的行走距离为 |a−b|

你原本计划在一天内访问所有这些摊位,按编号顺序逐一购物,最后再返回入口。然而,由于突然出现的促销活动,你发现自己无法按计划访问所有的摊位,因此决定取消对某个摊位 i 的访问。

在调整行程后,你将继续按顺序访问剩余的摊位,并依然从坐标 0 出发,最后返回入口。

请你计算在取消对每个摊位 i 的访问时行走的总距离。对于每个 i=1,2,…,n,给出相应的距离计算结果。

输入描述:

第一行给出一个整数 n \; (2 \leq n \leq 10^5),表示摊位的数量。

第二行给出 n 个整数 a_i \; (-5000 \leq a_i \leq 5000),表示 第 i 个摊位的坐标。

输出描述:

输出 n 个正整数,用空格隔开。其中第 i 个数表示少访问第 i 个摊位的答案。
示例1

输入

复制
3
3 5 -1

输出

复制
12 8 10