#include <climits>
#include <iostream>
#include<vector>
using namespace std;
int main(){
int n;cin>>n;
vector<int> arr(n);
for(int i=0;i<n;i++)
cin>>arr[i];
vector<vector<int>> dp(n,vector(5,0));
//初始化:
dp[0][1]=-arr[0];
dp[0][3]=-arr[0];
for(int i=1;i<n;i++){
dp[i][0]=dp[i-1][0];//不进行任何操作
//获取第一次买入最少的花销,该花销为上一时刻买入和当前时刻买入的最大值
dp[i][1]=max(dp[i-1][1],dp[i-1][0]-arr[i]);
//获取第一次卖出最大的收益,该收益为上一时刻卖出和当前时刻卖出的最大值
dp[i][2]=max(dp[i-1][2],dp[i-1][1]+arr[i]);
//获取第二次买入最少的花销,该花销为上一时刻买入和当前时刻买入的最大值
dp[i][3]=max(dp[i-1][3],dp[i-1][2]-arr[i]);
//获取第二次卖出最大的收益,该收益为上一时刻卖出和当前时刻卖出的最大值
dp[i][4]=max(dp[i-1][4],dp[i-1][3]+arr[i]);
}
cout<<dp[n-1][4];
return 0;
}
// 64 位输出请用 printf("%lld")