#include <bits/stdc++.h>
using namespace std;
char c[600][600];
int check(int x, int y) {
  if (c[x][y - 1] == '*' && c[x][y + 1] == '*' && c[x + 1][y] == '*' &&
      c[x - 1][y] == '*' && c[x][y] == '*')
    return 1;
  return 0;
}
int main() {
  int m, n;
  cin >> n >> m;
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++) cin >> c[i][j];
  int x = -1, y = -1;
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++) {
      if (check(i, j) == 1) {
        x = i;
        y = j;
      }
    }
  if (x == -1 || y == -1) {
    cout << "NO" << endl;
    return 0;
  }
  for (int i = x - 1; i >= 0; i--) {
    if (c[i][y] == '*') {
      c[i][y] = '.';
    } else
      break;
  }
  for (int i = x + 1; i < n; i++) {
    if (c[i][y] == '*') {
      c[i][y] = '.';
    } else
      break;
  }
  for (int i = y - 1; i >= 0; i--) {
    if (c[x][i] == '*') {
      c[x][i] = '.';
    } else
      break;
  }
  for (int i = y + 1; i < m; i++) {
    if (c[x][i] == '*') {
      c[x][i] = '.';
    } else
      break;
  }
  c[x][y] = '.';
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++) {
      if (c[i][j] == '*') {
        cout << "NO" << endl;
        return 0;
      }
    }
  cout << "YES" << endl;
  return 0;
}
