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

import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.io.OutputStreamWriter; 
import java.io.PrintWriter; 
import java.io.IOException;
import java.io.FileReader; 
import java.io.FileWriter;
import java.util.StringTokenizer; 

public class A225 { 
  
  public void solve() throws IOException { 
    String pd = "."; 
    String cc = "C"; 
    int n = ni(); 
    int comp1 = n / 2; 
    int comp2 = n - 1; 
    int totcoders = 0; 
    if (n % 2 == 0) { 
      totcoders += (comp1) * (n); 
    } else { 
      totcoders += (n) * (n/2); 
      totcoders += (n/2 + 1); 
    }
    System.out.println(totcoders);
    for (int i = 0; i < n; i++) {
      StringBuilder s = new StringBuilder();
      for (int j = 0; j < n; j++) { 
        if (i % 2 == 0) { 
          if (j % 2 == 0) 
            s.append(cc);
          else 
            s.append(pd); 
        } else 
          if (j % 2 == 0) 
            s.append(pd); 
          else 
            s.append(cc); 
      }
      System.out.println(s.toString());
      s = new StringBuilder(); 
    }
  }
 
  public BufferedReader br; 
  public StringTokenizer st; 
  public PrintWriter out; 
  
  public String nextToken() throws IOException {
    while(st == null || !st.hasMoreTokens()) 
      st = new StringTokenizer(br.readLine());
    return st.nextToken(); 
  }

  public String nextLine() throws IOException {
    return br.readLine();
  }
  
  public int ni() throws IOException {
    return Integer.parseInt(nextToken());
  }
  
  public long nl() throws IOException {
    return Long.parseLong(nextToken());
  }
  
  public double nd() throws IOException {
    return Double.parseDouble(nextToken());
  }

  public void run() throws IOException { 
    br = new BufferedReader(new InputStreamReader(System.in));
    out = new PrintWriter(new OutputStreamWriter(System.out));
    solve(); 
  }

  public static void main(String args[]) throws IOException { 
    new A225().run(); 
  }
}
