import std.algorithm;
import std.conv;
import std.math;
import std.stdio;
import std.string;

void solve(int N, long[] A){
	long[] left = new long[](N), right = new long[](N);
	for(int i = 0;i < N;i++){
		if(i == 0)left[i] = abs(A[0]);
		else left[i] = left[i - 1] + abs(A[i - 1] - A[i]);
	}
	for(int i = N - 1; i >= 0;i--){
		if(i == N - 1)right[i] = abs(A[N - 1]);
		else right[i] = abs(right[i + 1] + abs(A[i] - A[i + 1]));
	}
	for(int i = 0;i < N;i++){
		if(i == 0)writeln(abs(A[1]) + right[1]);
		else if(i == N - 1)writeln(left[N - 2] + abs(A[N - 2]));
		else writeln(left[i - 1] + abs(A[i - 1] - A[i + 1]) + right[i + 1]);
	}
}

// Generated by 1.1.6 https://github.com/kyuridenamida/atcoder-tools  (tips: You use the default template now. You can remove this line by using your custom template)
int main(){
	auto input = stdin.byLine.map!split.joiner;

	int N;
	N = input.front.to!int;
	input.popFront;

	long[] A = new long[](cast(size_t) (N));
	foreach (i; 0 .. cast(size_t) (N)) {
		A[i] = input.front.to!long;
		input.popFront;
	}

	solve(N, A);
	return 0;
}
