Коллекция фильмов
Мистер K. I. обладает очень большой коллекцией видеофильмов. Он расположил свою коллекцию в виде большого стека. Всякий раз, когда он хочет посмотреть один из фильмов, он ищет его в этом стеке и осторожно удаляет, убедившись, что стек не упадет. После завершения просмотра фильма он ставит его на верх стека.
Так как стопка фильмов достаточно велика, ему приходится следить за местоположением каждого фильма. Для каждого фильма достаточно знать количество фильмов, размещенных над ним, так как обладая этой информацией, можно вычислить положение фильма в стеке. Каждый фильм идентифицируется по номеру, указанному на коробке фильма.
Вам следует написать программу, которая будет следить за положением каждого фильма. В частности, каждый раз, когда мистер K. I. удаляет коробку с фильмом из стека, Ваша программа должна напечатать количество фильмов, размещенных над ней прежде чем она была удалена.
Входные данные
Первая строка содержит количество тестов, не более 100. Далее для каждого теста:
первая строка содержит два целых числа n и m (1 ≤ n, m ≤ 100000) - количество фильмов в стопке и количество запросов.
вторая строка содержит m целых чисел
a[1]
, ...,a[m]
(1 ≤a[i]
≤ n), указывающих на номера фильмов, которые мистер K. I. хочет просмотреть.
Для простоты считаем, что сначала фильмы в стеке расположены в возрастающем порядке их номеров 1, 2, ..., n, причем фильм с номером 1 находится на верху стека.
Выходные данные
Для каждого теста вывести одну строку с m числами, где i-ое число указывает на количество коробок расположенных над коробкой с меткой a[i]
перед тем как она переместится на верх стека.
Обратите внимание, что после каждого запроса a[i]
коробка с меткой a[i]
помещается на верх стека.