建设道路
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

牛牛国有  个城市,编号为 ,第  个城市有一个价值 ,牛国的国王牛阔落特别喜欢在牛牛国旅游,并且他不想每次旅游的时候都计算一遍走哪条路最短,于是他决定在任意两个城市之间建立一条双向道路,在第  座城市和第  座城市之间建立双向道路的代价是 ,牛阔落希望你能算出这项工程的花费。由于答案太大,你只需要输出答案模 的余数

输入描述:

第一行一个整数 ,表示城市的数量。

第二行  以空格分隔的整数 ,表示第i座城市的价值。

输出描述:

输出一行一个数字,表示工程的花费模  的余数
示例1

输入

复制
3
1 2 3

输出

复制
6

说明

城市1到城市2的道路价值是(2 - 1)^ 2 = 1

城市2到城市3的道路价值是(3 - 2)^ 2 = 1

城市1到城市3的道路价值是(3 - 1)^ 2 = 4
总的花费 = 1 + 1 + 4 = 6

备注:


建议使用 scanf 读入