Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

P196PROF - Problem F - Tổng giá trị của mảng

Cho mảng a gồm n số nguyên a1, a2, ..., an. Hàm f(a) được xác định như sau:

  • Ban đầu f(a) = 0, c = 1
  • Với mỗi 2 ≤ i ≤ n, nếu ac < ai thì gán f(a) = f(a) + ac và gán c = i

Bạn hãy tính tổng tất cả các giá trị f(a) trên n! hoán vị của a (lấy dư cho 109 + 7)

Input

Dòng đầu tiên chứa số nguyên n và x (1 ≤ n ≤ 106) - số lượng phần tử của mảng.

Dòng tiếp theo gồm n số nguyên a1, a2, ..., an (1 ≤ ai ≤ 109)

Output

In ra số nguyên duy nhấtt là tổng tất cả các giá trị f(a) trên n! hoán vị của a (lấy dư cho 109 + 7)

Example

Input:
3
2 2 3

Output:
8

Được gửi lên bởi:adm
Ngày:2019-03-23
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:ASM32-GCC ASM32 ASM64 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.