小红小紫画线
题号:NC273950
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在一个凸多边形,按顺时针顺序每条边有a_i个关键点。现在小红准备选两个关键点画一条红色线段,小紫准备选两个关键点画一条紫色线段(对于一个人,她选的两个点不能在多边形的同一条边上)。小红想知道,存在多少种可能使得红色线段和紫色线段恰好有一个交点?

输入描述:

第一行输入一个正整数n,代表凸多边形的边数。
第二行输入n个正整数a_i,代表每条边的关键点数量。
3\leq n \leq 10^5
1\leq a_i \leq 10^9

输出描述:

一个整数,代表红色线段和紫色线段恰好有一个交点的方案数。由于答案过大,请对10^9+7取模。
示例1

输入

复制
4
1 1 1 1

输出

复制
26
示例2

输入

复制
3
1 2 2

输出

复制
46

说明

下图为一种合法的方案。