#include <bits/stdc++.h>
using namespace std;
vector<int> vv1;
int lim = 1000000;
bool prime[1000000];
void sieve() {
  memset(prime, true, sizeof(prime));
  prime[0] = prime[1] = false;
  for (int i = 2; i * i < lim; i++) {
    if (prime[i]) {
      for (int j = i * i; j < lim; j = j + i) {
        prime[j] = false;
      }
    }
  }
  for (int i = 0; i < lim; i++)
    if (prime[i]) vv1.push_back(i);
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long tt, r = 0, l = 0, h = 0;
  tt = 1;
read:
  while (tt--) {
    vector<long long> vec2, vec1, vec, vec3, vec4, vec11;
    map<char, vector<int>> mqp;
    vector<pair<long long, long long>> ve;
    double x1, x2, x3, x4, y1, y2, y3, y4;
    long long a, d, b, n, c, e, cn = 0, sum = 0, mx2 = 0, mx1 = 0, cn1 = 0,
                                cn2 = 0, cn3 = 0, cn4 = 0;
    string s, s3, s2;
    map<char, int> mp, mp1;
    vector<string> v;
    cin >> a >> b;
    for (int i = 0; i < a; i++) {
      cin >> s;
      v.push_back(s);
    }
    for (int i = 1; i < a - 1; i++) {
      for (int j = 1; j < b - 1; j++) {
        if (v[i][j] == '*' && v[i - 1][j] == '*' && v[i + 1][j] == '*' &&
            v[i][j - 1] == '*' && v[i][j + 1] == '*') {
          cn3++;
          cn1 = i;
          cn2 = j;
          for (int k = cn2; k < b; k++) {
            if (v[cn1][k] == '*')
              v[cn1][k] = 'A';
            else
              break;
          }
          for (int k = cn2 - 1; k >= 0; k--) {
            if (v[cn1][k] == '*')
              v[cn1][k] = 'A';
            else
              break;
          }
          for (int k = cn1 + 1; k < a; k++) {
            if (v[k][cn2] == '*')
              v[k][cn2] = 'A';
            else
              break;
          }
          for (int k = cn1 - 1; k >= 0; k--) {
            if (v[k][cn2] == '*')
              v[k][cn2] = 'A';
            else
              break;
          }
          break;
        }
      }
      if (cn3) break;
    }
    if (cn3 == 0) {
      cout << "NO" << endl;
      goto read;
    }
    for (int i = 0; i < a; i++) {
      for (int j = 0; j < b; j++) {
        if (v[i][j] == '*') {
          cout << "NO" << endl;
          goto read;
        }
      }
    }
    cout << "YES" << endl;
  }
  return 0;
}
