fn main() { const M: usize = 1_000_000_007; let n: usize = { let mut buf = String::new(); std::io::stdin().read_line(&mut buf).unwrap(); buf.trim_end().parse().unwrap() }; let mut a: Vec = { let mut buf = String::new(); std::io::stdin().read_line(&mut buf).unwrap(); let iter = buf.split_whitespace(); iter.map(|x| x.parse().unwrap()).collect() }; for i in 0..(n - 1) { for j in 0..(n - 1 - i) { a[j] = (a[j] + a[j + 1]) % M; } } println!("{}", a[0]); }