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.

Input

The first line contains an integer n (1 ≤ n ≤ 1000).

Output

On the first line print an integer, the maximum number of Coders that can be placed on the chessboard.

On each of the next n lines print n characters, describing the configuration of the Coders. For an empty cell print an '.', and for a Coder print a 'C'.

If there are multiple correct answers, you can print any.

Examples

Input

2


Output

2
C.
.C
#author: uniqueinx
def fun(n):
	a = [[0 for x in range (n)] for y in range(n)]
	a [0][0] = 1
	for i in range(n):
		for j in range(n):
			if a[i][j] == 0 and i > 0:
				a[i][j] = - a[i-1][j]
			elif j > 0:
				a[i][j] = - a[i][j-1]
	return a

while 1:
	try:
		t = raw_input()
		if t.strip() == '':
			break
		s= fun(int(t))
		c = 0
		out = ''
		for i in s:
			for x in i:
				if x == 1:
					c += 1
					out += 'C'
				else:
					out+='.'
			out+='\n'
		print c
		print out[:len(out)-1]
	except(EOFError):
		break
