#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:16777216")
using namespace std;
int n, m;
bool v[1000][1000], a[1000][1000];
int main() {
  cin >> n >> m;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++) {
      char c;
      cin >> c;
      if (c == '*')
        a[i][j] = true;
      else
        a[i][j] = false;
    }
  string res = "NO";
  for (int i = 0; i <= n; i++)
    for (int j = 0; j <= m; j++)
      if (a[i][j] && a[i - 1][j] && a[i + 1][j] && a[i][j - 1] && a[i][j + 1]) {
        v[i][j] = true;
        int k = j - 1;
        while (k > 0) {
          if (a[i][k])
            v[i][k] = true;
          else
            break;
          k--;
        }
        k = j + 1;
        while (k > 0) {
          if (a[i][k])
            v[i][k] = true;
          else
            break;
          k++;
        }
        k = i - 1;
        while (k > 0) {
          if (a[k][j])
            v[k][j] = true;
          else
            break;
          k--;
        }
        k = i + 1;
        while (k > 0) {
          if (a[k][j])
            v[k][j] = true;
          else
            break;
          k++;
        }
        res = "YES";
        for (int q = 1; q <= n; q++)
          for (int p = 1; p <= m; p++)
            if (a[q][p] != v[q][p]) res = "NO";
        cout << res << endl;
        return 0;
      }
  cout << res << endl;
  return 0;
}
