#include //#define DEBUG 1 //#define int long long #define for0(i,n) for (int i=0; i(b)?(a):(b)) #define min(a,b) ((a)<(b)?(a):(b)) #define all(a) a.begin(),a.end() #define sz(x) (int)(x).size() #define pmod(x,m) (((x)%(m)+m)%m) #ifdef int #define read(x) scanf("%lld",&x); #else #define read(x) scanf("%d",&x); #endif #ifdef DEBUG #define nl cout<<"\n"; #define pr(x) cout<<(x)<<" "; #define prl(x) cout<<#x " = "<> n; for0(i,n) { //read(a[i]); scanf("%lld",&a[i]); } printa(a,n); ms(suba_sums,0); ms(suba_vals,0); for0(i,n) { suba_sums[i][i] = a[i]; suba_vals[i][i] = 0; } ll best = 0; for (int l=2; l<=n; l++) { for (int i=0; i= n) continue; suba_sums[i][j] = a[j] + suba_sums[i][j-1]; suba_vals[i][j] = suba_vals[i][j-1] + a[j]*suba_sums[i][j-1]; best = max(best,suba_vals[i][j]); } } print2D(suba_sums,n+1,n+1); print2D(suba_vals,n+1,n+1); cout<