#include <iostream>
using namespace std;
int N;
int getSangduckStart(int start, int end){
if(start>1) return 1;
else return end + 1;
}
int getSanduckEnd(int start, int end){
if(end==N) return start-1;
else return N;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
long long answer = 2'000'000'000;
long long unsignedDiff[2001] = {0, };
long long unsignedDiffCache[2001] = {0, };
long long signedDiff[2001] = {0, };
long long signedDiffCache[2001] = {0, };
long long numbers[2001] = {0, };
cin>>N;
cin>>numbers[1];
for(int i=2;i<=N;i++){
cin>>numbers[i];
signedDiff[i] = numbers[i] - numbers[i-1];
signedDiffCache[i] = signedDiff[i] + signedDiffCache[i-1];
unsignedDiff[i] = abs(signedDiff[i]);
unsignedDiffCache[i] = unsignedDiff[i] + unsignedDiffCache[i-1];
}
// for(int i=1;i<=N;i++) cout<<unsignedDiff[i]<<" ";
// cout<<'\n';
// for(int i=1;i<=N;i++) cout<<unsignedDiffCache[i]<<" ";
// cout<<'\n';
for(int endOfHeewon=1;endOfHeewon<=N;endOfHeewon++){
for(int startOfHeewon=1;startOfHeewon<=endOfHeewon;startOfHeewon++){
long long sumOfHeewon = unsignedDiffCache[endOfHeewon] - unsignedDiffCache[startOfHeewon];
int startOfSangduck = getSangduckStart(startOfHeewon, endOfHeewon);
int endOfSangduck = getSanduckEnd(startOfHeewon, endOfHeewon);
long long sumOfSangduck = 0;
if(endOfHeewon==N){
sumOfSangduck = unsignedDiffCache[endOfSangduck] - unsignedDiffCache[startOfSangduck];
}else{
sumOfSangduck = unsignedDiffCache[N]
- sumOfHeewon
- unsignedDiff[startOfHeewon]
- unsignedDiff[endOfHeewon+1];
if(startOfHeewon>1){
sumOfSangduck += unsignedDiffCache[startOfHeewon-1]
+ numbers[endOfHeewon+1] - numbers[startOfHeewon-1];
}
}
cout<<"희원 "<<startOfHeewon<<" "<<endOfHeewon<<" "<<sumOfHeewon<<'\n';
cout<<"상덕"<<startOfSangduck<<" "<<endOfSangduck<<" "<<sumOfSangduck<<'\n';
answer = min(answer, (long long)sumOfSangduck + sumOfHeewon);
}
}
cout<<answer<<'\n';
// your code goes here
return 0;
}