from collections import defaultdict,deque import sys,heapq,bisect,math,itertools,string,queue,datetime sys.setrecursionlimit(10**8) INF = float('inf') mod = 10**9+7 eps = 10**-7 def inpl(): return list(map(int, input().split())) def inpls(): return list(input().split()) N = int(input()) aa = inpl() SUMa = sum(aa) SUM2a = 0 SUMaa = 0 for i in range(N): SUM2a += aa[i]*(2*i) SUMaa += aa[i]**2 def calc(A,d): tmp = SUMaa - 2*SUMa*A - SUM2a*d tmp += A**2*N #A^2 tmp += (N-1)*N*A*d #2Ad tmp += (N-1)*N*(2*N-1)//6*d**2 #d^2 return tmp def calc_d(A): xx =[0]*4 xx[0] = -10**5/N xx[3] = 10**5/N xx[1] = (xx[0]*2 + xx[3]) /3 xx[2] = (xx[0] + xx[3]*2) /3 yy = [0]*4 for i in range(4): yy[i] = calc(A,xx[i]) for _ in range(300): if yy[1] < yy[2]: xx[3] = xx[2] xx[1] = (xx[0]*2 + xx[3]) /3 xx[2] = (xx[0] + xx[3]*2) /3 else: xx[0] = xx[1] xx[1] = (xx[0]*2 + xx[3]) /3 xx[2] = (xx[0] + xx[3]*2) /3 yy[1] = calc(A,xx[1]) yy[2] = calc(A,xx[2]) return yy[1],xx[1] xx =[0]*4 xx[0] = -10**5*2 xx[3] = 10**5*2 xx[1] = (xx[0]*2 + xx[3]) /3 xx[2] = (xx[0] + xx[3]*2) /3 yy = [0]*4 for i in range(4): yy[i],d = calc_d(xx[i]) by = yy[1] for _ in range(1000): if yy[1] < yy[2]: xx[3] = xx[2] xx[1] = (xx[0]*2 + xx[3]) /3 xx[2] = (xx[0] + xx[3]*2) /3 else: xx[0] = xx[1] xx[1] = (xx[0]*2 + xx[3]) /3 xx[2] = (xx[0] + xx[3]*2) /3 yy[1],d = calc_d(xx[1]) yy[2],d = calc_d(xx[2]) print(xx[1],d) print(yy[1])