'''
LIS 问题的变形,能找到LIS 就对应一个严格下降序列
正向和反向分别求LIS长度取最大值即可
'''
import bisect
def get_lis_len_simple(arr):
lst = []
for i in range(len(arr)):
idx = bisect.bisect_left(lst, arr[i])
if idx >= 0 and idx < len(lst):
lst[idx] = arr[i]
else:
lst.append(arr[i])
return len(lst)
K = int(input())
for _ in range(K):
N = int(input())
arr = list(map(int, input().split()))
len1 = get_lis_len_simple(list(reversed(arr)))
len2 = get_lis_len_simple(arr)
print(max(len1, len2))