Given an array **A** of **N** integers. Your task is to write a program to find the maximum value of **∑arr[i]*i**, where i = 0, 1, 2,…., n – 1.

You are allowed to rearrange the elements of the array.

**Note**: Since output could be large, hence module 10^{9}+7 and then print answer.

**Input:**

First line of the input contains an integer **T**, denoting the number of test cases. Then **T** test case follows. Each testcase contains two lines of input. First line contains an integer **N**, denoting the size of the array. Next line contains **N **space separated integers denoting the elements of the array.

**Output:**

For each test case, print the required answer on a new line.

**Constraints:**

1 <= T <= 10^{3}

1 <= N <= 10^{7}

1 <= A_{i} <= N

**Example:
Input:**

2

5

5 3 2 4 1

3

1 2 3

40

8

**Explanation:**

**Testcase1:** If we arrange the array as 1 2 3 4 5 then we can see that the minimum index will multiply with minimum number and maximum index will multiply with maximum number. So 1*0+2*1+3*2+4*3+5*4=0+2+6+12+20 =40 mod(10^{9}+7) = 40

Author: harshitsidhwa

If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.

thanuvinu94 | 238 |

the_coder95 | 215 |

ShivayLamba | 208 |

sandeep.prajapati | 129 |

Ashish Kumar Vaishy | 114 |

the_coder95 | 1441 |

RishabhTanwar1 | 1110 |

thanuvinu94 | 914 |

tathagat289 | 668 |

themanhasnoname | 620 |

blackshadows | 5331 |

Ibrahim Nash | 5219 |

akhayrutdinov | 5111 |

mb1973 | 4897 |

Quandray | 4547 |

Login to report an issue on this page.