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).
n = int(input())

s = ''
c = 0

d = {}
for x in range(n):
	if not d.get(x):
		d[x] = []
	for y in range(n):
		if x==0 and y==0:
			s += 'C'
			d[x].append((x, y))
			c += 1
			continue
		ce  = False
		for x1, y1 in d.get(x, []):
			if (x1 == x+1 and y1 == y) or (x1 == x-1 and y1 == y) or (x1 == x and y1 == y-1) or (x1 == x and y1 == y+1) or (x1==x and y1==y):
				ce = True
				break
		for x1, y1 in d.get(x-1, []):
			if (x1 == x+1 and y1 == y) or (x1 == x-1 and y1 == y) or (x1 == x and y1 == y-1) or (x1 == x and y1 == y+1) or (x1==x and y1==y):
				ce = True
				break							
			
		if ce:
			s += '.'
		else:
			s += 'C'
			d[x].append((x, y))
			c+=1
	s += '\n'

print(c)
print(s)
    	 	   	 									 		  			