#include <bits/stdc++.h>   using namespace std;   int main() {     ios_base::sync_with_stdio(false);     long long n;     cin >> n;     vector<vector<long long> > p(2, vector<long long>(n)),         suf(2, vector<long long>(n + 1)), ebalVLevo(2, vector<long long>(n + 1)),         ebalVPravo(2, vector<long long>(n + 1));     for (long long i = 0; i < 2; i++) {       for (long long j = 0; j < n; j++) {         cin >> p[i][j];       }     }     for (long long i = 0; i < 2; i++) {       suf[i][n - 1] = p[i][n - 1];       for (long long j = n - 2; j >= 0; j--) {         suf[i][j] = suf[i][j + 1] + p[i][j];       }     }     for (long long i = 0; i < 2; i++) {       ebalVPravo[i][0] = (n)*p[i][0];       for (long long j = 1; j < n; j++) {         ebalVPravo[i][j] = ebalVPravo[i][j - 1] + p[i][j] * (n + j);       }     }     for (long long i = 0; i < 2; i++) {       ebalVLevo[i][n - 1] = p[i][n - 1];       for (long long j = n - 2; j >= 0; j--) {         ebalVLevo[i][j] = ebalVLevo[i][j + 1] + p[i][j] * (n - j);       }     }     long long sum = 0;     long long ans = 0;     long long i = 0, j = 0;     bool lastI = false;     for (long long t = 0; t < 2 * n; t++) {       sum += t * p[i][j];       long long tmp = sum;       long long tmpR =           ebalVPravo[i][n - 1] - ebalVPravo[i][j] - (n - t + j) * suf[i][j + 1];       long long tmpL = 0;       long long tmpLL = 0;       if (t == 0) {         tmpL = ebalVLevo[1][j] + (t + (n - j) - 1) * suf[1][j];       } else if (i == 0) {         tmpL = ebalVLevo[1][j + 1] + (t + (n - j) - 1) * suf[1][j + 1];       } else if (i == 1) {         tmpL = ebalVLevo[0][j + 1] + (t + (n - j) - 1) * suf[0][j + 1];       }       ans = max(ans, tmp + tmpL + tmpR);       if (!lastI) {         if (!i) {           i++;         } else {           i--;         }         lastI = true;       } else {         j++;         lastI = false;       }     }     cout << ans;     return 0;   }   