#include <bits/stdc++.h>
using namespace std;
template <typename T>
T gcd(T a, T b) {
  while (a != 0 && b != 0) {
    if (a > b) {
      a %= b;
    } else {
      b %= a;
    }
  }
  return (a > b ? a : b);
}
void solve() {
  int n, m;
  cin >> n >> m;
  char a[501][501];
  int cnt = 0;
  for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++) {
      cin >> a[i][j];
      cnt += a[i][j] == '*';
    }
  for (int i = 1; i < n - 1; i++) {
    for (int j = 1; j < m - 1; j++) {
      if (a[i][j] == '*' && a[i][j - 1] == '*' && a[i][j + 1] == '*' &&
          a[i - 1][j] == '*' && a[i + 1][j] == '*') {
        int c = 5;
        for (int k = j - 2; k >= 0; k--) {
          if (a[i][k] == '*')
            c++;
          else
            break;
        }
        for (int k = j + 2; k < m; k++) {
          if (a[i][k] == '*')
            c++;
          else
            break;
        }
        for (int k = i - 2; k >= 0; k--) {
          if (a[k][j] == '*')
            c++;
          else
            break;
        }
        for (int k = i + 2; k < n; k++) {
          if (a[k][j] == '*')
            c++;
          else
            break;
        }
        cout << (cnt == c ? "YES\n" : "NO\n");
        return;
      }
    }
  }
  cout << "NO\n";
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int t = 1;
  while (t--) solve();
}
