class Main103 { private static final int mod = 1000000007; public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int m = in.nextInt(); long[] a = new long[m + 1]; for (int i = 1; i < m + 1; i++) { a[i] = in.nextInt(); } long[] dp = new long[m + 1]; dp[1] = a[1]; for (int i = 2; i < m + 1; i++) { dp[i] = dp[i - 1] + (((((long) (i) * (long) (i + 1))) / 2 * a[i]) % mod); dp[i] %= mod; } long result = 0; for (int i = 1; i < m + 1; i++) { result += dp[i]; result %= mod; } System.out.println(result); } } }