use std::io::Read; fn main() { let mut s = String::new(); std::io::stdin().read_to_string(&mut s).ok(); let v: Vec = s.split_whitespace().flat_map(str::parse).collect(); let (mut a, mut r, n) = (0, 1, v[0] - 1); for i in 0..=n { a += r * v[1 + i as usize]; r *= n - i; r /= i + 1; } println!("{}", a % 1000000007) }