The goal of 8 Queens Problem is to put eight queens on a chess-board such that none of them threatens any of others. A queen threatens the squares in the same row, in the same column, or on the same diagonals as shown in the following figure.

<image>


For a given chess board where $k$ queens are already placed, find the solution of the 8 queens problem.

Constraints

* There is exactly one solution

Input

In the first line, an integer $k$ is given. In the following $k$ lines, each square where a queen is already placed is given by two integers $r$ and $c$. $r$ and $c$ respectively denotes the row number and the column number. The row/column numbers start with 0.

Output

Print a $8 \times 8$ chess board by strings where a square with a queen is represented by 'Q' and an empty square is represented by '.'.

Example

Input

2
2 2
5 3


Output

......Q.
Q.......
..Q.....
.......Q
.....Q..
...Q....
.Q......
....Q...
n=int(input())
l=[tuple(int(i) for i in input().split()) for j in range(n)]
ll=[]
s=set(l)
sp=set()
sm=set()
sy=set()
for i,j in l:
    sp.add(i+j)
    sm.add(i-j)
    sy.add(j)
for i in range(8):
    tmp=[]
    for j in range(8):
        if (i,j) in s:
            tmp=[]
            break
        if i+j in sp or i-j in sm:
            continue
        if j in sy:
            continue
        tmp.append((i,j))
    if tmp:
        ll.append(tmp)

ln=[]
m=1
for i in range(8-n):
    ln.append(len(ll[i]))
    m*=len(ll[i])


def base(X):
    X_dumy = X
    out = ''
    for i in ln:
        out += str(X_dumy%i)
        X_dumy = int(X_dumy/i)
    return out

import copy
for i in range(m):
    s=base(i)
    b=False
    cp=copy.deepcopy(sp)
    cm=copy.deepcopy(sm)
    cy=copy.deepcopy(sy)
    tmp=copy.deepcopy(l)
    for j in range(8-n):
        p,q=ll[j][int(s[j])]
        if p+q in cp or p-q in cm or q in cy:
            b=True
            break
        else:
            tmp.append((p,q))
            cp.add(p+q)
            cm.add(p-q)
            cy.add(q)
    if b:
        continue
    else:
        tmp.sort()
        for x,y in tmp:
            s="."*y+"Q"+"."*(7-y)
            print(s)

