void f(ll n,ll*a){ ll@b[n]; rsortA(n,b); ll s=0; a[0]=0; rep(i,n){ a[i+1]=a[i]+b[i]; } } { Rand r; ll@na,@nb,@nc,a[na+1],b[nb+1],c[nc+1],z=0; f(na,a); f(nb,b); f(nc,c); rep(2000){ ll za=r.get(0ll,na); ll zb=r.get(0ll,nb); ll zc=r.get(0ll,nc); rep(100){ ll za0=tsearch_argmax[ll,za,0,na](a[za]*zb+b[zb]*zc+c[zc]*za); ll za1=tsearch_argmaxL[ll,za,0,na](a[za]*zb+b[zb]*zc+c[zc]*za); za=r.get(za0,za1); ll zb0=tsearch_argmax[ll,zb,0,nb](a[za]*zb+b[zb]*zc+c[zc]*za); ll zb1=tsearch_argmaxL[ll,zb,0,nb](a[za]*zb+b[zb]*zc+c[zc]*za); zb=r.get(zb0,zb1); ll zc0=tsearch_argmax[ll,zc,0,nc](a[za]*zb+b[zb]*zc+c[zc]*za); ll zc1=tsearch_argmaxL[ll,zc,0,nc](a[za]*zb+b[zb]*zc+c[zc]*za); zc=r.get(zc0,zc1); } z>?=a[za]*zb+b[zb]*zc+c[zc]*za; } wt(z); }