You are given a permutation p=[p_1, p_2, …, p_n] of integers from 1 to n. Let's call the number m (1 ≤ m ≤ n) beautiful, if there exists two indices l, r (1 ≤ l ≤ r ≤ n), such that the numbers [p_l, p_{l+1}, …, p_r] is a permutation of numbers 1, 2, …, m.

For example, let p = [4, 5, 1, 3, 2, 6]. In this case, the numbers 1, 3, 5, 6 are beautiful and 2, 4 are not. It is because:

  * if l = 3 and r = 3 we will have a permutation [1] for m = 1; 
  * if l = 3 and r = 5 we will have a permutation [1, 3, 2] for m = 3; 
  * if l = 1 and r = 5 we will have a permutation [4, 5, 1, 3, 2] for m = 5; 
  * if l = 1 and r = 6 we will have a permutation [4, 5, 1, 3, 2, 6] for m = 6; 
  * it is impossible to take some l and r, such that [p_l, p_{l+1}, …, p_r] is a permutation of numbers 1, 2, …, m for m = 2 and for m = 4. 



You are given a permutation p=[p_1, p_2, …, p_n]. For all m (1 ≤ m ≤ n) determine if it is a beautiful number or not.

Input

The first line contains the only integer t (1 ≤ t ≤ 1000) — the number of test cases in the input. The next lines contain the description of test cases.

The first line of a test case contains a number n (1 ≤ n ≤ 2 ⋅ 10^5) — the length of the given permutation p. The next line contains n integers p_1, p_2, …, p_n (1 ≤ p_i ≤ n, all p_i are different) — the given permutation p.

It is guaranteed, that the sum of n from all test cases in the input doesn't exceed 2 ⋅ 10^5.

Output

Print t lines — the answers to test cases in the order they are given in the input. 

The answer to a test case is the string of length n, there the i-th character is equal to 1 if i is a beautiful number and is equal to 0 if i is not a beautiful number.

Example

Input


3
6
4 5 1 3 2 6
5
5 3 1 2 4
4
1 4 3 2


Output


101011
11111
1001

Note

The first test case is described in the problem statement.

In the second test case all numbers from 1 to 5 are beautiful:

  * if l = 3 and r = 3 we will have a permutation [1] for m = 1; 
  * if l = 3 and r = 4 we will have a permutation [1, 2] for m = 2; 
  * if l = 2 and r = 4 we will have a permutation [3, 1, 2] for m = 3; 
  * if l = 2 and r = 5 we will have a permutation [3, 1, 2, 4] for m = 4; 
  * if l = 1 and r = 5 we will have a permutation [5, 3, 1, 2, 4] for m = 5. 
# def check(p, m):
#     i1 = p.index(1)
#     # im = p.index(m)
#     # l = min(i1, im)
#     # r = max(i1, im)
#     # # print(m, i1, im, l, r)
#     # for num in p[l:r+1]:
#     #     if num > m:
#     #         return False
#     # while (l > 0 and p[l-1] < m) or (r < len(p)-1 and p[r+1] < m):
#     #     # print(l, r)
#     #     if l > 0 and p[l-1] < m:
#     #         l -= 1
#     #     if r < len(p)-1 and p[r+1] < m:
#     #         r += 1
#     # # print('\t', l, r)
#     # if len(p[l:r+1]) == m:
#     #     return True
#     # else:
#     #     return False
#     for i in range(max(i1-m+1, 0), min(i1+1, len(p)-m+1)):
#         # print(p[i:i+m])
#         if max(p[i:i+m]) == m:
#             return True
#     else:
#         return False


def main():
    n = int(input())
    p = list(map(int, input().split()))
    index = [0] * n
    ans = [0] * n
    for i in range(n):
        index[p[i]-1] = i
    l, r = [0] * n, [0] * n
    l[0], r[0] = index[0], index[0]
    for i in range(1, n):
        l[i] = min(l[i-1], index[i])
        r[i] = max(r[i-1], index[i])
    # print(index, l, r, sep='\n')
    for i in range(n):
        if r[i] - l[i] == i:
            ans[i] = 1
    print(''.join([str(x) for x in ans]))


t = int(input())
for _ in range(t):
    main()
