Iahub likes chess very much. He even invented a new chess piece named Coder. A Coder can move (and attack) one square horizontally or vertically. More precisely, if the Coder is located at position (*x*, *y*), he can move to (or attack) positions (*x* + 1, *y*), (*x*–1, *y*), (*x*, *y* + 1) and (*x*, *y*–1).

Iahub wants to know how many Coders can be placed on an *n* × *n* chessboard, so that no Coder attacks any other Coder.
The first line contains an integer *n* (1 ≤ *n* ≤ 1000).
def is_valid(i,j,n):
    return i>=0 and i<=n-1 and j>=0 and j<=n-1


n=int(input())

board=[['C' for i in range(n)]for i in range(n)]
ans=0
mp={}
mp['C']=0
mp['.']=0
#print(type(board))
for i in range(n):
    for j in range(n):
        if (board[i][j]=='C'):
            if(is_valid(i-1,j,n)): board[i-1][j]='.'
            if(is_valid(i+1,j,n)): board[i+1][j]='.'
            if(is_valid(i,j-1,n)): board[i][j-1]='.'
            if(is_valid(i,j+1,n)): board[i][j+1]='.'

for i in range(n):
    for j in range(n):
        mp[board[i][j]]+=1


print(mp['C'])
for i in range(n):
    for j in range(n):
        print(board[i][j],end='')
    print()


            