import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine(); // 消耗掉换行符
String[] parts = sc.nextLine().split(" ");
long[] A = new long[n];
for (int i = 0; i < n; i++) {
A[i] = Long.parseLong(parts[i]);
}
// 计算x = i² + A_i²的最大最小值
long maxX = Long.MIN_VALUE;
long minX = Long.MAX_VALUE;
// 计算y = i² - A_i²的最大最小值
long maxY = Long.MIN_VALUE;
long minY = Long.MAX_VALUE;
for (int i = 0; i < n; i++) {
// 注意索引是从1开始的
long index = i + 1;
long indexSq = index * index;
long aSq = A[i] * A[i];
long x = indexSq + aSq;
long y = indexSq - aSq;
maxX = Math.max(maxX, x);
minX = Math.min(minX, x);
maxY = Math.max(maxY, y);
minY = Math.min(minY, y);
}
// 最大距离是两个差值中的较大者
long maxDist = Math.max(maxX - minX, maxY - minY);
System.out.println(maxDist);
}
}
#include <iostream>
using namespace std;
#include<vector>
#include<algorithm>
#include<cmath>
#define ll long long
// |i^2-j^2|+|Ai^2-Aj^2| 进行去绝对值 并将i,j移到一边 得到4种情况:
// (i^2+Ai^2)-(j^2+Aj^2) 1
// -(i^2+Ai^2)+(j^2+Aj^2) 2
// (i^2-Ai^2)-(j^2-Aj^2) 3
// -(i^2-Ai^2)+(j^2-Aj^2) 4
//
// 令:K1=n^2+An^2; 上面1-2式子得到最大值都是:最大K1减最小K1
// 令:K2=n^2-An^2; 上面3-4式子得到最大值都是:最大K2减最小K2
int main() {
vector<ll>v;
vector<ll>v_k1;
vector<ll>v_k2;
ll n;
cin>>n;
for(ll i=0;i<n;i++){
ll a;
cin>>a;
v.push_back(a);
}
for(ll i=0;i<n;i++){
ll k1,k2;
k1=(i+1)*(i+1)+v[i]*v[i];
v_k1.push_back(k1);
k2=(i+1)*(i+1)-v[i]*v[i];
v_k2.push_back(k2);
}
sort(v_k1.begin(),v_k1.end());
sort(v_k2.begin(),v_k2.end());
ll FSTmax=0;
FSTmax=max(v_k1[n-1]-v_k1[0],v_k2[n-1]-v_k2[0]);
cout<<FSTmax;
} #include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define N 100005
//本题做法:|i^2-j^2|+|ai^2-aj^2|存在2个变量(因为ai,aj可以用下标i,j表示出来)
//但是ij之间没有必然联系,我们要试着化简把i,ai放在一起j,aj一起
//|i^2-j^2|+|ai^2-aj^2|,分类讨论可以得到4种情况
//1:|i^2-j^2|>=0且|ai^2-aj^2|>=0 =>(i^2-j^2)+(ai^2-aj^2)=>(i^2+ai^2)-(j^2+aj^2)
//2: |i^2-j^2|>=0且|ai^2-aj^2|<0 =>(i^2-j^2)-(ai^2-aj^2)=>(i^2-ai^2)-(j^2-aj^2)
//3: <0且>=0 =>-(i^2-j^2)+(ai^2-aj^2)=>-(i^2-ai^2)+(j^2-aj^2)
//4: <0且<0 =>-(i^2-j^2)-(ai^2-aj^2)=>-(i^2+ai^2)+(j^2+aj^2)
//相似的放在一起直观的比较一下
//(i^2+ai^2)-(j^2+aj^2) i>=j且ai>=aj的情况
//-(i^2+ai^2)+(j^2+aj^2) i<j且ai<aj的情况
//观察可以知道都是()大的-()小的,我们排序后取用最大值-最小值就可以
//(i^2-ai^2)-(j^2-aj^2) i>=j且ai<aj的情况
//-(i^2-ai^2)+(j^2-aj^2) i<j且ai>=aj的情况
//这个也是同理,()大-()小
int n;
int a[N];
int b[N],c[N];
signed main() {
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++){
b[i]=i*i+a[i]*a[i];
c[i]=i*i-a[i]*a[i];
}
sort(b+1,b+1+n);
sort(c+1,c+1+n);
int ans=0;
ans=max(b[n]-b[1],c[n]-c[1]);
cout<<ans<<endl;
return 0;
}