human
A permutation of length k is a sequence of k integers from 1 to k containing each integer exactly once. For example, the sequence [3, 1, 2] is a permutation of length 3.

When Neko was five, he thought of an array a of n positive integers and a permutation p of length n - 1. Then, he performed the following:

  * Constructed an array b of length n-1, where b_i = min(a_i, a_{i+1}). 
  * Constructed an array c of length n-1, where c_i = max(a_i, a_{i+1}). 
  * Constructed an array b' of length n-1, where b'_i = b_{p_i}. 
  * Constructed an array c' of length n-1, where c'_i = c_{p_i}. 


For example, if the array a was [3, 4, 6, 5, 7] and permutation p was [2, 4, 1, 3], then Neko would have constructed the following arrays:

  * b = [3, 4, 5, 5] 
  * c = [4, 6, 6, 7] 
  * b' = [4, 5, 3, 5] 
  * c' = [6, 7, 4, 6] 


Then, he wrote two arrays b' and c' on a piece of paper and forgot about it. 14 years later, when he was cleaning up his room, he discovered this old piece of paper with two arrays b' and c' written on it. However he can't remember the array a and permutation p he used.

In case Neko made a mistake and there is no array a and permutation p resulting in such b' and c', print -1. Otherwise, help him recover any possible array a. 

Input

The first line contains an integer n (2 ≤ n ≤ 10^5) — the number of elements in array a.

The second line contains n-1 integers b'_1, b'_2, …, b'_{n-1} (1 ≤ b'_i ≤ 10^9).

The third line contains n-1 integers c'_1, c'_2, …, c'_{n-1} (1 ≤ c'_i ≤ 10^9).

Output

If Neko made a mistake and there is no array a and a permutation p leading to the b' and c', print -1. Otherwise, print n positive integers a_i (1 ≤ a_i ≤ 10^9), denoting the elements of the array a.

If there are multiple possible solutions, print any of them. 

Examples

Input

5
4 5 3 5
6 7 4 6

Output

3 4 6 5 7 

Input

3
2 4
3 2

Output

-1

Input

8
2 3 1 1 2 4 3
3 4 4 2 5 5 4

Output

3 4 5 2 1 4 3 2 

Note

The first example is explained is the problem statement.

In the third example, for a...
class
=====
Give me a Python program to print -1?
assistant
#Here is Python program to print -1.
 multiset:
    def __init__(self):
        self.items = dict()
        self.len = 0
    
    def add(self, it):
        self.items[it] = self.items.get(it,0) + 1
        self.len += 1
    
    def remove(self, it):
        it_value = self.items.get(it,1) - 1
        if it_value == 0:
            self.items.__delitem__(it)
        else:
            self.items[it] = it_value
        self.len -= 1
    
    def pop(self):
        it = next(iter(self.items.keys()))
        self.remove(it)
        return it
    
    def __len__(self):
        return self.len
    
    def __str__(self):
        return str(self.items)

import sys
fd = sys.stdin
#fd = open('TestCaseNekoAndFlachBack.txt','r')

n = int(fd.readline())

bp = [int(i) for i in fd.readline().split()]
cp = [int(i) for i in fd.readline().split()]
#fd.close() #Comentar ANTES DE MANDAR

for i in range(n-1):
    if bp[i] > cp[i]:
        print(-1)
        sys.exit()
        
map_value = dict()
count = 0

for i in bp + cp:
    if i not in map_value:
        map_value[i] = count
        count += 1
        
E = [multiset() for i in range(count)]

for i in range(n-1):
    a,b = (map_value[bp[i]],map_value[cp[i]])
    E[a].add(b)
    E[b].add(a)

odd_vert = []

for i in range(count):
    if len(E[i]) % 2 == 1:
        odd_vert.append(i)

#check number of vertex with odd degree
first_vert = 0
if len(odd_vert) == 2:
    first_vert = count
    E.append(multiset())
    E[count].add(odd_vert[0])
    E[odd_vert[0]].add(count)
    E[count].add(odd_vert[1])
    E[odd_vert[1]].add(count)
elif len(odd_vert) != 0:
    print(-1)
    sys.exit()
    
stack = [first_vert]
sol = []

while stack:
    v = stack[-1]
    if len(E[v]) == 0:
        sol.append(v)
        stack.pop()
    else:
        u = E[v].pop()
        E[u].remove(v)
        stack.append(u)
        
inv_map_value = {v:i for i,v in map_value.items()}
if sol[0] == count and len(sol) != n+2:
    print(-1)

else:
    if sol[0] == count:
        for i in range(1,len(sol)-1):
            print(inv_map_value[sol[i]])
   ...