'''
简单多维DP
'''
N = int(input())
arr = list(map(int, input().split()))
# dp(i, k)表示在第i天后所有天中做选择,第i天持有状态是k
# (1表示持有,0表示非持有第一天,也就是前一天有卖行为,2表示卖操作已经在两天或者更长以前,也就是当天已经可以进行买操作)
# 的条件下所有选择中总收益的最大值
dp1 = [0] * 3
dp2 = [0] * 3
for i in range(N - 1, -1, -1):
if i == N - 1:
dp2[0], dp2[1], dp2[2] = 0, arr[i], 0
else:
dp2[0] = dp1[2]
dp2[1] = max(arr[i] + dp1[0], dp1[1])
dp2[2] = max(-arr[i] + dp1[1], dp1[2])
dp1, dp2 = dp2, dp1
print(dp1[2])