D. Удаление строки
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам дана строка $$$s$$$, состоящая из $$$n$$$ символов. Каждый символ — либо 0, либо 1.

Вы можете проводить операции со строкой. Каждая операция состоит из двух шагов:

  1. выбрать целое число $$$i$$$ от $$$1$$$ до длины строки $$$s$$$, после чего удалить символ $$$s_i$$$ (длина строки уменьшается на $$$1$$$, номера символов правее удаленного тоже уменьшаются на $$$1$$$);
  2. если строка $$$s$$$ не является пустой, удалить максимальный по длине префикс, состоящий из одинаковых символов (номера остальных символов и длина строки уменьшаются на длину удаленного префикса).

Обратите внимание, что в каждой операции оба шага обязательны, и их порядок нельзя менять.

Например, если у вас есть строка $$$s =$$$ 111010, первая операция может быть одной из следующих:

  1. выбрать $$$i = 1$$$: тогда мы получим 111010 $$$\rightarrow$$$ 11010 $$$\rightarrow$$$ 010;
  2. выбрать $$$i = 2$$$: тогда мы получим 111010 $$$\rightarrow$$$ 11010 $$$\rightarrow$$$ 010;
  3. выбрать $$$i = 3$$$: тогда мы получим 111010 $$$\rightarrow$$$ 11010 $$$\rightarrow$$$ 010;
  4. выбрать $$$i = 4$$$: тогда мы получим 111010 $$$\rightarrow$$$ 11110 $$$\rightarrow$$$ 0;
  5. выбрать $$$i = 5$$$: тогда мы получим 111010 $$$\rightarrow$$$ 11100 $$$\rightarrow$$$ 00;
  6. выбрать $$$i = 6$$$: тогда мы получим 111010 $$$\rightarrow$$$ 11101 $$$\rightarrow$$$ 01.

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

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

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

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

Во второй строке задана $$$s$$$ — строка из $$$n$$$ символов. Каждый символ — либо 0, либо 1.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.

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

Для каждого набора входных данных, выведите одно целое число — максимальное количество операций, которые вы можете провести.

Пример
Входные данные
5
6
111010
1
0
1
1
2
11
6
101010
Выходные данные
3
1
1
1
3
Примечание

В первом наборе входных данных, мы можем, например, выбрать $$$i = 2$$$ и получить строку 010 после первой операции. После этого, выбрать $$$i = 3$$$ и получить строку 1. Наконец, мы можем выбрать только $$$i = 1$$$ и получить пустую строку.