eolymp
bolt
Try our new interface for solving problems
Problems

Персистентные структуры данных

Персистентные структуры данных

Если вы не знаете, что такое \textit{персистентные структуры данных}, то это не помешает вам решить эту задачу. \textit{Персистентные структуры данных} - это такие структуры данных, когда при любом изменении у нас остается доступ к предыдущим версиям этой структуры. Пусть у нас есть последовательность из \textbf{n} элементов, и нужно заменить \textbf{p}-й элемент. Для этого мы создаём новую версию структуры, которая отличается от предыдущей только \textbf{p}-м элементом. В результате у нас будет две версии последовательности. В этой задаче вам необходимо просто посчитать количество версий последовательности, которые будут сохраняться в результате выполнения \textbf{m} запросов. \InputFile Первая строка содержит два числа \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{100000}) и \textbf{m} (\textbf{1} ≤ \textbf{m} ≤ \textbf{100000}), где \textbf{n} --- количество чисел в последовательности, \textbf{m} - количество запросов. Во второй строке задано \textbf{n} натуральных чисел - сама последовательность. В следующих \textbf{m} строках заданы запросы двух типов: \begin{itemize} \item \textbf{SET i p d} --- из последовательности \textbf{i} образовать новую, где \textbf{p}-й элемент равен \textbf{d}; \item \textbf{GET i p} --- в последовательности \textbf{i} взять \textbf{p}-й элемент. \end{itemize} Начальная последовательность имеет номер \textbf{0}. Позиции в последовательности начинаются с единицы. Запросов к несуществующим версиям не будет. При обработке запроса первого типа, создается новая версия, которая получает номер \textbf{j+1}, где \textbf{j} - номер последней добавленной последовательности, сначала \textbf{j = 0}. \OutputFile Выведите одно число - количество версий последовательности.
Time limit 1 second
Memory limit 64 MiB
Input example #1
5 5
1 2 3 4 5
SET 0 3 7
GET 1 1
SET 0 5 6
SET 0 4 8
SET 0 5 8
Output example #1
5
Author Александр Цицюра