两串糖果
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小C在5月20号送给了小Q两串糖果。小Q觉得非常好看,所以她决定收藏它们。

但是,小C毕竟是个直男,并不是完全懂小Q的审美。
所以小Q决定对糖果进行微调。

已知每串糖果都由n颗糖果构成,两串糖果的每个糖果的珍贵值分别记为

小Q对糖果串的满意度为

小Q的每一次微调,会选择糖果串A的某一个区间,然后翻转这个区间的糖果。

因为小Q是个追求完美的人,所以她会对糖果串进行若干次操作。但小Q的时间也是有限的,所以她对一颗糖果的操作只会进行一次。换句话说,小Q每次进行微调的区间不能重合。

在小C的训练下小Q已经轻松的解决了这个问题,现在她想问问你,在微调完成之后,她的满意度最高会达到多少。


输入描述:

第一行输入n,表示糖果的个数。

第二行输入a_i,表示第一串糖果的每颗糖果的珍贵值。

第三行输入b_i,表示第二串糖果的每颗糖果的珍贵值。

输出描述:

输出一个值,为小Q的最大满意度。
示例1

输入

复制
8
3 1 5 4 5 1 3 2
6 2 2 2 3 4 3 1

输出

复制
82

说明

翻转为[3 1 5] [4 5 1] 3 2
翻转后的数组为5 1 3 1 5 4 3 2
答案为5*6+1*2+3*2+1*2+5*3+4*4+3*3+2*1=82。

备注: