Люба только что закончила просматривать известные ей новостные сайты, и сейчас ей нужно закрыть все вкладки браузера, не необходимые ей для выполнения дел. Сейчас в браузере n открытых вкладок, пронумерованных от 1 до n слева направо. Курсор мыши находится на вкладке с номером pos. Вкладки с номерами с l по r (включительно) являются необходимыми для выполнения дел Любы. Она хочет закрыть все остальные вкладки как можно быстрее так, чтобы открытыми остались только вкладки с номерами из заданного отрезка.
За одну секунду Люба может либо попытаться сдвинуть курсор влево или вправо (если курсор сейчас на вкладке i, то можно его переместить на вкладку max(i - 1, a) или на вкладку min(i + 1, b)), либо попытаться закрыть все вкладки слева или справа от курсора (если сейчас курсор на вкладке i, можно закрыть либо все вкладки из отрезка [a, i - 1], либо все вкладки из [i + 1, b]). В этом абзаце a обозначает минимальный номер ещё не закрытой вкладки, b — максимальный. Например, если изначально было 7 вкладок, а вкладки 1, 2 и 7 уже закрыты, то a = 3, b = 6.
Какое минимальное количество секунд Любе требуется, чтобы оставить открытыми только вкладки с номерами с l по r включительно?
В единственной строке задано 4 целых числа n, pos, l, r (1 ≤ n ≤ 100, 1 ≤ pos ≤ n, 1 ≤ l ≤ r ≤ n) — количество вкладок, позиция указателя и нужный Любе отрезок.
Выведите минимальное количество секунд, необходимое, чтобы оставить открытыми только вкладки из отрезка [l, r].
6 3 2 4
5
6 3 1 3
1
5 2 1 5
0
В первом тесте Люба может добиться следующим образом — сдвинуть указатель мыши влево на вкладку 2, закрыть все вкладки слева, два раза сдвинуть указатель вправо (на 3 и на 4) и закрыть все вкладки справа.
Во втором тесте Любе достаточно закрыть все вкладки справа.
В третьем тесте все открытые вкладки уже образуют нужный Любе отрезок, следовательно, ей ничего делать не нужно.
Название |
---|