include<stdio.h>
int max(int a,int b){
return a>b?a:b;
}
int main(){
int in[10000];
int n=0;
bool isAll_=true;
do{
scanf("%d", &in[n++]);
if(in[n-1]>0) isAll_=false;
}while(getchar()!='\n');
if(isAll_) printf("0\n"); else{ int dp;//dp[j]是必须包含元素in[j]的向前连续延申的最大子段和 dp=in[0]>0?in[0]:0; int maxv=dp; for(int i=2;i<=n;i++){ if(dp>0) dp+=in[i-1]; else dp=in[i-1]; if(maxv<dp) maxv=dp; } printf("%d\n", maxv); }
}