Problem description
Zuzi oraz Irynie zostało powierzone zadanie przebudowania centrum miasta, które składa się z ciągu N budynków o wysokościach A1, …, AN, każdy o szerokości 1. Miasto jest różnorodne, zatem żadne dwa budynki nie mają tej samej wysokości. Podczas przebudowy zmieniany ma być pewien spójny przedział budynków. W tym czasie remontowane budynki, ze względów bezpieczeństwa, powinny zostać zasłonięte ochronną płachtą. Podczas przebudowy pewnego przedziału budynków, płachta powinna zasłonić całkowicie wszystkie budynki, ale ze względu na to, że jest prostokątna, może się zdarzyć, że za pewnymi częściami płachty nie będzie żadnej części budynku.
Zuzia i Iryna muszą zatem zamówić odpowiednie płachty. Dziewczyny zaczęły się zastanawiać, dla danego pola powierzchni K, ile jest przedziałów budynków, które dałoby się zasłonić płachtą o polu K, ale takich, których nie dałoby zasłonić się mniejszą płachtą? Pomóż im i napisz program, który będzie odpowiadał na to pytanie.
Wejście
W pierwszym wierszu standardowego wejścia znajdują się dwie liczby naturalne N, Q oznaczające odpowiednio liczbę budynków oraz liczbę zapytań. W drugim wierszu wejścia znajduje się ciąg parami różnych liczb A1, A2, …, AN oznaczających wysokości kolejnych budynków w mieście. W następnych Q wierszach znajduje się opis zapytań, i-te zapytanie składa się z jednej dodatniej liczby całkowitej Ki.
Wyjście
Należy wypisać Q wierszy. W i-tym wierszu należy wypisać odpowiedź na zapytanie dziewczyn dla wartości Ki.
Ograniczenia
1 ≤ N ≤ 1 000 000, 1 ≤ Q ≤ 1000, 1 ≤ Ki, Ai ≤ 1012. Wartości ciągu Ai są parami różne.
Przykład
Input | Output | Explanation |
|
|
W pierwszym przypadku możemy zakryć przedziały budynków [4,5] oraz [5,6] płachtą o wymiarach 2 × 4. W drugim przypadku możemy przykryć przedziały [1,3], [2,4] oraz [3,5] płachtą o wymiarach 3 × 6. Moglibyśmy też taką płachtą przykryć np. przedział budynków [4,6], ale można go również przykryć mniejszą płachtą o mniejszym polu powierzchni, zatem nie wliczamy go do odpowiedzi. |