G. Запрещенное значение
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Поликарп редактирует очень сложную программу. Сначала определяется переменная $$$x$$$, ей присваивается значение $$$0$$$. Затем следуют инструкции двух типов:

  1. set $$$y$$$ $$$v$$$ — присвоить переменной $$$x$$$ значение $$$y$$$ или потратить $$$v$$$ бурлей, чтобы удалить эту инструкцию (и, соответственно, не изменять $$$x$$$);
  2. блок if $$$y$$$ $$$\dots$$$ end — выполнить инструкции внутри блока if, если значение $$$x$$$ равно $$$y$$$, и пропустить блок иначе.

Внутри блоков if могут содержаться set инструкции и другие блоки if.

Однако, когда значение $$$x$$$ становится равно $$$s$$$, компьютер ломается и тут же возгорается. Поликарп не хочет этого допустить, и в то же время потратить как можно меньше бурлей.

Какую минимальную сумму бурлей можно потратить на удаление set инструкций, чтобы никогда не присвоить $$$x$$$ значение $$$s$$$?

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

В первой строке записано два целы числа $$$n$$$ и $$$s$$$ ($$$1 \le n \le 2 \cdot 10^5$$$, $$$1 \le s \le 2 \cdot 10^5$$$) — количество строк в программе и запрещенное значение $$$x$$$.

Следующие $$$n$$$ строк задают программу. Каждая строка одного из трех типов:

  1. set $$$y$$$ $$$v$$$ $$$(0 \le y \le 2 \cdot 10^5, 1 \le v \le 10^9)$$$;
  2. if $$$y$$$ $$$(0 \le y \le 2 \cdot 10^5)$$$;
  3. end.

Каждая if инструкция имеет парную end инструкцию. Каждая end инструкция имеет парную if инструкцию.

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

Выведите одно целое число — минимальную сумму бурлей, которую Поликарп может потратить на удаление set инструкций, чтобы никогда не присвоить $$$x$$$ значение $$$s$$$.

Примеры
Входные данные
5 1
set 1 10
set 2 15
if 2
set 1 7
end
Выходные данные
17
Входные данные
7 2
set 3 4
if 3
set 10 4
set 2 7
set 10 1
end
set 4 2
Выходные данные
4
Входные данные
9 200
if 0
set 5 5
if 5
set 100 13
end
if 100
set 200 1
end
end
Выходные данные
1
Входные данные
1 10
set 1 15
Выходные данные
0