//有点感觉了
//对于一个有正负的数列求最大值的问题,
// 答案加上一个最大的负数和减去一个最小的整数
#include <bits/stdc++.h>
using ll=long long;
using namespace std;
const int N=1e5+9;
ll a[N],n,sum=0,cnt=0,mmin=1e9+9,mmax=-1e9-9;
bool cmp(ll x,ll y)
{
return x>y;
}
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
if(a[i]>=0)
{
cnt++;
sum+=a[i];
mmin=min(mmin,a[i]);
}//将正数求和记录最小值
else
{
mmax=max(mmax,a[i]);//记录最大的负数
}
}
if(cnt&1)
{
sum=max(sum-mmin,sum+mmax);
cout<<sum<<endl;
}
else cout<<sum<<endl;
return 0;
}