A: Taking a Seat-Taking a Seat-

story

Mr. A entered the classroom at the examination site to take an examination. However, Mr. A is a very nervous type. Therefore, depending on the situation, there may be seats that Mr. A does not want to sit in. Therefore, Mr. A decided to find out how many seats he could sit on based on certain conditions.

problem

Mr. A is a nervous type of person. First of all, Mr. A cannot sit in the first row from the front. Because when I sit near the proctor, I get nervous and can't solve the problem. Also, if there is a person on the right or left, Mr. A cannot sit down. This is because the sound of the pencil next to me makes it impossible to concentrate during the test. In addition, you can't sit near a noisy guy (near 8 diagonally up, down, left, and right). This is because my voice echoes in my head during the break and I can't rest. Also, it's natural, but I can't sit in the seat where the students are already sitting.

Is there a place where Mr. A can sit under these conditions? Assuming that M x N seats are lined up in the classroom, let's find the number.

Input format

The first row gives M (number of rows: number of vertical seats) and N (number of columns: number of horizontal seats). From the second line, M lines and a character string of length N are given line by line. The j character of the i-th character string represents the state of the seat in the i-th row and the j-th column. Each letter is either'-',' x'or'o', vacant seats'-', noisy students sitting during breaks'x', other students sitting' Let it be o'.

Constraint

* 0 <M ≤ 100
* 0 <N ≤ 100



Output format

Output the number of seats that Mr. A can sit in one line depending on the conditions. Don't forget the line break at the end.

Input example 1


5 5
--o--
--xo-
--x--
o --- x
--xoo


Output example 1


3

Input example 2


2 6
--oooo
x--o--


Output example 2


1

Input example 3


3 5
-----
-----
-----


Output example 3


Ten

Input example 4


4 6
o-oxoo
oo-ooo
oooxo-
o-ooox


Output example 4


0





Example

Input

5 5
--o--
--xo-
--x--
o---x
--xoo


Output

3
/*  -*- coding: utf-8 -*-
 *
 * 2798.cc: Taking a Seat
 */

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<string>
#include<vector>
#include<map>
#include<set>
#include<stack>
#include<list>
#include<queue>
#include<deque>
#include<algorithm>
#include<numeric>
#include<utility>
#include<complex>
#include<functional>
 
using namespace std;

/* constant */

const int MAX_H = 100;
const int MAX_W = 100;

const int dxs[] = { 1, 1, 0, -1, -1, -1, 0, 1 };
const int dys[] = { 0, -1, -1, -1, 0, 1, 1, 1 };

/* typedef */

/* global variables */

char flds[MAX_H][MAX_W + 4];

/* subroutines */

/* main */

int main() {
  int h, w;
  scanf("%d%d", &h, &w);

  for (int y = 0; y < h; y++) scanf("%s", flds[y]);

  int cnt = 0;
  for (int y = 1; y < h; y++)
    for (int x = 0; x < w; x++)
      if (flds[y][x] == '-') {
	bool ok = true;
	if ((x > 0 && flds[y][x - 1] != '-') ||
	    (x < w - 1 && flds[y][x + 1] != '-')) ok = false;
	for (int di = 0; ok && di < 8; di++) {
	  int vx = x + dxs[di], vy = y + dys[di];
	  if (vx >= 0 && vx < w && vy >= 0 && vy < h &&
	      flds[vy][vx] == 'x') ok = false;
	}

	if (ok) cnt++;
      }

  printf("%d\n", cnt);
  return 0;
}

