Клуб грубых людей
Степан является участником известного клуба грубых людей. В этом клубе ведут рейтинг участников, который меняется только во время ежегодных соревнований.
Соревнования состоят из m последовательных раундов. В каждом раунде k лучших участников (согласно рейтингу) садятся вокруг стола с луком. После того как его начинают резать, первый, кто проронит слезу, перемещается на последнюю строчку рейтинга и раунд заканчивается. Обратите внимание, что рейтинг у каждого участника разный.
Во время соревнований ведется протокол, в котором после каждого раунда записывается позиция выбывшего участника, которая была у него в начале раунда (в конце раунда он перемещается на последнюю позицию).
Степан нашел протокол соревнований этого года, но он забыл свою позицию в рейтинге до начала соревнований. Тем не менее он еще помнит свою нынешнюю позицию в рейтинге. Помогите Степану вспомнить его позицию до начала соревнований.
Напишите программу, которая поможет Степану определить его позицию до начала соревнований.
Входные данные
В первой строке записаны три целых числа n, k, m (1 ≤ k < n ≤ 10^9
, 1 ≤ m ≤ 10^5
) - количество участников клуба, количество участников в одном раунде и количество раундов соответственно. Во второй строке содержится m целых чисел: i-ое число a[i]
(1 ≤ a[i]
≤ k) задает позицию выбывшего участника в соответствующем раунде. В третьей строке записано единственное целое число p (1 ≤ p ≤ n) - позиция Степана после соревнований.
Выходные данные
Выведите одно число - позицию Степана перед началом соревнований.
Примеры
Примечание
В начале соревнований Степан занимал третью позицию. После первого раунда участник с первой строчки опустился на последнюю, поэтому Степан поднялся на одну позицию вверх, а именно на вторую позицию. После второго раунда Степан опустился на последнюю позицию. После третьего раунда он поднялся на одну позицию вверх, а именно на пятую позицию.