You are given an array $a$ consisting of $n$ integers numbered from $1$ to $n$.
Let's define the $k$-amazing number of the array as the minimum number that occurs in all of the subsegments of the array having length $k$ (recall that a subsegment of $a$ of length $k$ is a contiguous part of $a$ containing exactly $k$ elements). If there is no integer occuring in all subsegments of length $k$ for some value of $k$, then the $k$-amazing number is $-1$.
For each $k$ from $1$ to $n$ calculate the $k$-amazing number of the array $a$.
-----Input-----
The first line contains one integer $t$ ($1 \le t \le 1000$) — the number of test cases. Then $t$ test cases follow.
The first line of each test case contains one integer $n$ ($1 \le n \le 3 \cdot 10^5$) — the number of elements in the array. The second line contains $n$ integers $a_1, a_2, \dots, a_n$ ($1 \le a_i \le n$) — the elements of the array. 
It is guaranteed that the sum of $n$ over all test cases does not exceed $3 \cdot 10^5$.
-----Output-----
For each test case print $n$ integers, where the $i$-th integer is equal to the $i$-amazing number of the array.
-----Example-----
Input
3
5
1 2 3 4 5
5
4 4 4 4 2
6
1 3 1 5 3 1
Output
-1 -1 3 2 1 
-1 4 4 4 2 
-1 -1 1 1 1 1
for anynumber in range(int(input())):
    n = int(input())
    l = list(map(int,input().split()))
    d = {}
    for (index, i) in enumerate(l):
        if i not in d.keys():
            d[i] = [index+1,index]
        else:
            d[i] = [max(index-d[i][1], d[i][0]),index]
    for i in d.keys():
        d[i] = max(d[i][0], n-d[i][1])
    ans = [-1 for i in range(n)]
    for i in sorted(d.keys(), reverse=True):
        ans[d[i]-1] = i
    for i in range(1,n):
        if ans[i] == -1:
            ans[i] = ans[i-1]
        elif ans[i-1] != -1:
            if ans[i-1]<ans[i]:
                ans[i] = ans[i-1]
    for i in range(n-1):
        print(ans[i],end=" ")
    print(ans[n-1])
for anynumber in range(int(input())):
    n = int(input())
    l = list(map(int,input().split()))
    d = {}
    for (index, i) in enumerate(l):
        if i not in d.keys():
            d[i] = [index+1,index]
        else:
            d[i] = [max(index-d[i][1], d[i][0]),index]
    for i in d.keys():
        d[i] = max(d[i][0], n-d[i][1])
    ans = [-1 for i in range(n)]
    for i in sorted(d.keys(), reverse=True):
        ans[d[i]-1] = i
    for i in range(1,n):
        if ans[i] == -1:
            ans[i] = ans[i-1]
        elif ans[i-1] != -1:
            if ans[i-1]<ans[i]:
                ans[i] = ans[i-1]
    for i in range(n-1):
        print(ans[i],end=" ")
    print(ans[n-1])