import java.io.*; class P4_CountSquares { static final String FIN = "DATA41.txt"; static final String FOUT = "OUT41.txt"; public static void main(String[] args) { try { BufferedReader fin = new BufferedReader( new FileReader(FIN) ); PrintWriter fout = new PrintWriter(new FileWriter(FOUT)); for (int rep = 0; rep < 5; rep++) { main(fin, fout); fout.flush(); } fin.close(); fout.close(); } catch ( IOException e ) { System.err.println("Input file: " + FIN + " not found."); } } public static void main(BufferedReader fin, PrintWriter fout) throws IOException { /* GETTING INPUT */ String temp = fin.readLine(); int rows = Integer.parseInt( temp.substring( 0, temp.indexOf(' ') )); int cols =Integer.parseInt( temp.substring( temp.indexOf(' ') + 1)); char[][] map = new char[rows+1][cols+1]; for (int i = 1; i <= rows; i++) { temp = fin.readLine(); for (int j = 1; j <= cols ;j++) { map[i][j] = temp.charAt(j-1); } } print(map); int squares = 0; for (int i = 1; i <= rows && i <= cols; i++) { for (int j1 = 1; j1 <= rows - i + 1; j1++) { for (int j2 = 1; j2 <= cols - i + 1; j2++) { boolean square = true; for (int k = j1; k <= j1 + i - 1; k++) { for (int l = j2; l <= j2 + i - 1; l++) { if ( map[k][l] == '.') { square = false; } } } if ( square ) { squares++; } } } } fout.println(squares); } static void print( char[][] c) { for (int i = 0; i < c.length; i++) { for (int j = 0; j < c[0].length; j++) { System.out.print(c[i][j]); } System.out.println(); } } }