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).
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.
2
2 C. .C




#include <iostream>
#include <string>
#include <vector>
#define rep(i,j,k) for(int i=(j); i<k; ++i)
#define maxn 1000
using namespace std;
int main(void){
int a;
while(cin >> a){
int sum = 0;
if(a%2){
for(int i=1; i<a; i+=2){
sum += 2*i;
}
sum += a;
}
else{
for(int i=1; i<=(a-1); i+=2)
sum += 2*i;
}
cout << sum << endl;
rep(i,0,a){
rep(j,0,a){
if((i%2&&j%2) || (i%2==0 && j%2==0))
cout << "C";
else cout << ".";
}
cout << endl;
}
}
return 0;
}