#include <bits/stdc++.h>
using namespace std;
long long int t;
int main() {
  {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
  }
  long long int h, w;
  cin >> h >> w;
  vector<string> image(h);
  for (long long int i = 0; i < h; i++) cin >> image[i];
  vector<vector<bool>> present(h, vector<bool>(w, false));
  for (long long int i = 1; i < h - 1; i++) {
    for (long long int j = 1; j < w - 1; j++) {
      if (image[i][j] == '*' && image[i - 1][j] == '*' &&
          image[i + 1][j] == '*' && image[i][j + 1] == '*' &&
          image[i][j - 1] == '*') {
        present[i][j] = true;
        long long int up = i - 1, down = i + 1, right = j + 1, left = j - 1;
        while (up >= 0 && image[up][j] == '*') present[up][j] = true, up--;
        while (down < h && image[down][j] == '*')
          present[down][j] = true, down++;
        while (left >= 0 && image[i][left] == '*')
          present[i][left] = true, left--;
        while (right < w && image[i][right] == '*')
          present[i][right] = true, right++;
        for (long long int a = 0; a < h; a++) {
          for (long long int b = 0; b < w; b++) {
            if (present[a][b] != (image[a][b] == '*')) {
              cout << "NO";
              return 0;
            }
          }
        }
        cout << "YES";
        return 0;
      }
    }
  }
  cout << "NO";
  return 0;
}
