import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { //indexed backwards //eg. -infinity,...4,3,2,1 --ends at 1 static double putThroughEquation(long index){ return 6 * Math.pow(index, 2) - 16 * index + 11;//number of times number appears in final round } static int solve(int[] arr) { // Return the sum of S(S(A)) modulo 10^9+7. long sum = 0; int length = arr.length; int[] appearances = new int[arr.length]; for(int i = 0; i < appearances.length; i++){ appearances[i] = (int) putThroughEquation(appearances.length - i); } for(int i = 0; i < arr.length; i++){ sum += arr[i] * appearances[i]; } int temp = (int) (sum % (Math.pow(10,9) + 7)); return temp; } public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] a = new int[n]; for(int a_i = 0; a_i < n; a_i++){ a[a_i] = in.nextInt(); } int result = solve(a); System.out.println(result); in.close(); } }