아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Малефисумма

면접 대비

시간 제한2초메모리 제한1024 MB

요약
n개의 수가 주어질 때 모든 i<j<k에 대한 a_i·a_j·a_k의 합을 1,000,000,007로 나눈 나머지를 구한다.
난이도

보통10점 중 5점

유형
수학, 조합론, 누적 합, 구현
정답자
아직 제출이 없습니다

문제

В очередной раз запутавшись в наложенных проклятьях, заклятьях и прочих магических штуках, Малефисента решила вместо того, чтобы разбираться с ними в течение нескольких дней, отменить их все, а после заколдовать заново тех, кого нужно.

Каждое заклятье можно представить в виде неотрицательного целого числа. Скажем, что ii-му заклятью соответствует число a_ia\_i. Тогда, чтобы снять все заклятья сразу, надо найти число ∑_1≤i<j<k≤na_i⋅a_j⋅a_k\sum\limits\_{1 \le i < j < k \le n} a\_i \cdot a\_j \cdot a\_k

Помогите ей поскорее разобраться с этой проблемой. Посчитайте число, необходимое для снятия всех заклятий. Поскольку число может получиться слишком большим, требуется посчитать его по модулю 1,000,000,0071\\,000\\,000\\,007.

입력

В первой строке дано одно целое число nn --- количество заклятий (3≤n≤1063 \le n \le 10^6).

Во второй строке даны nn целых чисел a_ia\_i, соответствующих заклятьям (0≤a_i≤1060 \le a\_i \le 10^6).

출력

Выведите требуемое число по модулю 1,000,000,0071\\,000\\,000\\,007.

예제2

  1. 예제 1

    입력
    3
    1 2 3
    
    예상 출력
    6
    
  2. 예제 2

    입력
    4
    0 5 6 7
    
    예상 출력
    210