#include long int hcf(int x,int y); int main () { long int n,t,k,p; scanf("%ld",&n); long int num[n],i; for(i=0;i0) gcd[k]=num[j]; else gcd[k]=-num[j]; } else if(num[j]>0) gcd[k]=hcf(gcd[k-1],num[j]); else gcd[k]=hcf(gcd[k-1],-num[j]); for(p=i;p<=j;p++) { sum[k]=sum[k]+num[p]; if(num[p]>max[k]) max[k]=num[p]; } res[k]=gcd[k]*(sum[k]-max[k]); k++; } long int maxm=res[0]; for(i=1;imaxm) maxm=res[i]; printf("%ld",maxm); return 0; } long int hcf(int x,int y) { long int min; if(x>y) min=y; else min=x; for(long int i=1;i<=min;i++) if(x%i==0&&y%i==0) hcf=i; return hcf; }