import java.util.*; import java.lang.*; import java.io.*; public class Main { public static void main (String[] args) throws java.lang.Exception { // your code goes here // 入力 Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] A = new int[N]; for(int i = 0; i < N; i++){ A[i] = sc.nextInt(); } // 計算 for(int tail = N-1; tail > 0; tail--){ for(int i = 0; i < tail; i++){ A[i] = (A[i] + A[i+1]) % 1000000007; } } // 出力 System.out.println(A[0]); } // 関数 public static void name(){ } // 文字列のx文字目を取得する関数 public static String getPos(String str, int pos){ return String.valueOf(str.charAt(pos)); } // int型ロガー関数 public static void loggerInt(String name, int num){ String str = ""; str += name; str += " = "; str += num; System.out.println(str); } // Long型ロガー関数 public static void loggerLong(String name, Long num){ String str = ""; str += name; str += " = "; str += num; System.out.println(str); } // double型ロガー関数 public static void loggerDbl(String name, double num){ String str = ""; str += name; str += " = "; str += num; System.out.println(str); } // String型ロガー関数 public static void loggerStr(String name, String prm){ String str = ""; str += name; str += " = "; str += prm; System.out.println(str); } // boolean型ロガー関数 public static void loggerBool(String name, boolean bool){ String str = ""; str += name; str += " = "; str += bool; System.out.println(str); } // int型配列ロガー関数 public static void loggerIntAr(String name, int[] ar){ String str; for(int i = 0; i < ar.length; i++){ str = ""; str += name; str += "[" + i + "]"; str += " = "; str += ar[i]; System.out.println(str); } } // Long型配列ロガー関数 public static void loggerLongAr(String name, Long[] ar){ String str; for(int i = 0; i < ar.length; i++){ str = ""; str += name; str += "[" + i + "]"; str += " = "; str += ar[i]; System.out.println(str); } } // double型配列ロガー関数 public static void loggerDblAr(String name, double[] ar){ String str; for(int i = 0; i < ar.length; i++){ str = ""; str += name; str += "[" + i + "]"; str += " = "; str += ar[i]; System.out.println(str); } } // String型配列ロガー関数 public static void loggerStrAr(String name, String[] ar){ String str; for(int i = 0; i < ar.length; i++){ str = ""; str += name; str += "[" + i + "]"; str += " = "; str += ar[i]; System.out.println(str); } } // boolean型配列ロガー関数 public static void loggerBoolAr(String name, boolean[] ar){ String str; for(int i = 0; i < ar.length; i++){ str = ""; str += name; str += "[" + i + "]"; str += " = "; str += ar[i]; System.out.println(str); } } }