#include<bits/stdc++.h>
using namespace std;
int a[100005],zs=0,mod=100000,minn,maxx=INT_MIN;
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
if(a[i]>0) zs+=a[i];
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++)
{
if(a[i]>0 && a[i]%2==1)
{
minn=a[i];
break;
}
}
if(zs%2==1)
{
cout<<zs<<endl;
return 0;
}
else
{
for(int i=n;i>=0;i--)
{
if(a[i]<0)
{
if(abs(minn)<abs(a[i]) && (a[i]+mod)%2==1)
{
if(maxx<zs+a[i]) maxx=a[i]+zs;
}
else
{
if(maxx<zs-minn) maxx=zs-minn;
}
}
}
}
cout<<maxx<<endl;
return 0;
}
91分,怎么错了?