func maxRotateFunction(A []int) int {
	n := len(A)
	if n <= 1 {
		return 0
	}
	sum, fx := 0, 0
	for i, a := range A {
		sum, fx = sum+a, fx+i*a
	}
	max := fx
	for i := n - 1; 0 < i; i-- {
		fx += sum - n*A[i]
		if max < fx {
			max = fx
		}
	}
	return max
}