Statement is not available in English language
B. Создание команды
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В Сбере решили создать новую команду, которая будет заниматься передовыми разработками искусственного интеллекта. Чтобы не допустить утечек технологий, было решено набрать команду только из текущих программистов Сбера. Для этого технический директор созвал $$$n$$$ человек для отбора. Все сотрудники расставлены в порядке начала работы в компании, а у каждого из них есть уровень навыка $$$a_i$$$. То есть 1-й сотрудник c навыком $$$a_1$$$ пришёл в компанию раньше 2-го сотрудника с навыком $$$a_2$$$, 2-й сотрудник с навыком $$$a_2$$$ пришёл раньше 3-го сотрудника с навыком $$$a_3$$$ и т.д.

Чтобы команда могла эффективно работать, важно, чтобы каждый сотрудник в ней чувствовал уверенность в поддержке коллег. Для этого было решено, что в любой группе сотрудников, выбранной для команды, у каждого участника должен быть человек, обладающий навыком не меньше, чем у него самого, и присутствующий среди тех, кто пришёл в компанию раньше него. Навык разработчика, пришедшего раньше всех из команды, может быть любым. Иными словами, среди сотрудников нужно найти подпоследовательность, в которой навык первого кандидата произвольный, а для других существует сотрудник со значением не меньше, чем у него среди предыдущих. Например, среди сотрудников с навыками $$$1, 3, 2$$$ можно выбрать в команду второго и третьего ($$$3 \ge 2$$$), но нельзя выбрать первого и третьего ($$$1 \lt 2$$$).

Искусственный интеллект — важная задача в наше время, поэтому технический директор решил набрать команду наибольшего размера. Вы, как сотрудник, занимающийся алгоритмами, решили помочь и найти оптимальную команду.

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

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

Далее следуют описания наборов.

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

Во второй строке даны $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_{n}$$$ ($$$1 \le a_i \le n$$$) — навыки кандидатов. Все кандидаты пронумерованы в порядке строгого убывания длительности работы в Сбере.

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

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

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

Пример
Входные данные
4
7
4 1 4 5 6 7 4
3
1 3 2
6
5 2 1 6 1 3
1
1
Выходные данные
4
2
5
1
Примечание

В первом примере возможно собрать команду из 1-го, 2-го, 3-го и 7-го разработчика. Тогда для каждого кандидата, кроме первого, будет сотрудник, который имеет навык больше или равный, чем у него и при этом будет опытнее.

Второй пример разобран в условии.

В третьем примере подходящая команда будет из 1-го, 2-го, 3-го, 5-го и 6-го разработчика.