시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB0000.000%

문제

Bajtoś dostał nową kolekcję sprężyn. Każda z nich została wyprodukowana w pewnych wymiarach, a każde jej rozciągnięcie, bądź ściśnięcie, wymaga dość sporego wysiłku.

Aby wydłużyć lub skrócić o 1 centymetr nieruszaną jeszcze sprężynę, potrzeba 1 jednostki wysiłku. Każde kolejne rozciągnięcie, bądź ściśnięcie, tej samej sprężyny wymaga dodatkowo zwiększenia wysiłku o 1. Dokładniej, jeśli Bajtoś chce wydłużyć sprężynę o d centymetrów, to będzie się wysilał o kolejno 1, 2, ..., d jednostek wysiłku.

Bajtoś zastanawia się, ile minimalnie wysiłku musi włożyć, aby k najkrótszych sprężyn było tej samej długości. Zakładamy, że wszystkie sprężyny Bajtosia nie były dotąd rozciągane ani ściskane.

입력

Pierwszy wiersz standardowego wejścia zawiera dwie liczby całkowite n, m (1 ≤ n, m ≤ 106), oznaczające odpowiednio liczbę sprężyn oraz liczbę zapytań Bajtosia. Kolejny wiersz zawiera n liczb całkowitych s1, s2, ..., sn (1 ≤ sisi+1 ≤ 109), gdzie si oznacza długość i-tej sprężyny. Następny wiersz zawiera m liczb całkowitych k1, k2, ..., km (1 ≤ kjn), gdzie kj oznacza j-te zapytanie Bajtosia, w którym wybiera kj najmniejszych sprężyn.

출력

j-ty wiersz wyjścia powinien być odpowiedzią na j-te zapytanie (to jest ile minimalnie wysiłku kosztowałoby Bajtosia ustawienie kj najkrótszych sprężyn na tą samą długość) modulo 109 + 7.

예제 입력 1

4 4 
1 3 4 10
1 2 3 4

예제 출력 1

0
2
4
28