Олимпиадный тренинг

Задача . A. КоннеР и A.R.C. Markland-N


A.R.C. Markland-N это высокое \(n\)-этажное здание с этажами, пронумерованными от \(1\) до \(n\). Между любыми двумя соседними этажами есть лестница их соединяющая.

У нашего сенсея Колина «КоннеР» Неймена Jr приближается время обеда, поэтому он решил выбрать, в каком месте он собирается поесть.

Офис Коннера располагается на \(s\)-м этаже здания. На каждом этаже здания расположено по одному ресторану, в том числе на этаже \(s\). Однако в связи с идущей реконструкцией, \(k\) ресторанов сейчас закрыты.

Коннер не хочет терять много времени на еду, поэтому хочет найти открытый ресторан как можно ближе к нему. Иначе говоря, его интересует ресторан, требующий прохода по минимальному количеству лестниц от этажа Коннера.

Помогите Коннеру, и кто знает, может быть вы заслужите его похвалу и даже сможете насладиться обедом вместе с ним в элегантном стиле Нейманов!

Входные данные

В первой строке записано целое число \(t\) (\(1 \le t \le 1000\)) — количество наборов входных данных в тесте. Далее следуют описания \(t\) наборов входных данных.

Первая строка каждого набора содержит целые числа \(n\), \(s\) и \(k\) (\(2 \le n \le 10^9\), \(1 \le s \le n\), \(1 \le k \le \min(n-1, 1000)\)) — количество этажей в A.R.C. Markland-N, этаж на котором работает Коннер и количество закрытых ресторанов.

Вторая строка каждого набора содержит \(k\) различных целых чисел \(a_1, a_2, \ldots, a_k\) (\(1 \le a_i \le n\)) — этажи, на которых расположены закрытые рестораны.

Гарантируется, что сумма значений \(k\) по всем наборам во входных данных не превосходит \(1000\).

Выходные данные

Для каждого набора входных данных выведите одно целое число — минимальное количество лестниц до ближайшего открытого ресторана от офиса Коннера на этаже \(s\).

Примечание

В первом наборе входных данных примера ближайший открытый ресторан расположен на \(4\)-м этаже.

Во втором наборе входных данных примера ресторан на этаже с офисом Коннера не закрыт, так что Коннер сможет пообедать там.

В третьем наборе входных данных примера ближайший открытый ресторан находится на \(6\)-м этаже.


Примеры
Входные данныеВыходные данные
1 5
5 2 3
1 2 3
4 3 3
4 1 2
10 2 6
1 2 3 4 5 7
2 1 1
2
100 76 8
76 75 36 67 41 74 10 77
2
0
4
0
2

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя