#include <bits/stdc++.h>
using namespace std;
bool isplus(vector<string> s, int i, int j) {
  int h = s.size();
  int w = s[0].length();
  int k;
  if (i - 1 < 0 || i + 1 >= h || j - 1 < 0 || j + 1 >= w) {
    return false;
  }
  if (s[i - 1][j] == '.' || s[i + 1][j] == '.' || s[i][j - 1] == '.' ||
      s[i][j + 1] == '.') {
    return false;
  }
  bool fl1 = false, fl2 = false, fl3 = false, fl4 = false;
  for (k = j + 1; k < w;) {
    if (s[i][k] == '*') {
      fl1 = true;
      k++;
    } else if (s[i][k] == '.') {
      break;
    }
  }
  while (k < w) {
    if (s[i][k] == '*') {
      cout << "NO";
      exit(0);
      return false;
    }
    k++;
  }
  k = j - 1;
  for (; k >= 0;) {
    if (s[i][k] == '*') {
      fl2 = true;
      k--;
    } else if (s[i][k] == '.') {
      break;
    }
  }
  while (k >= 0) {
    if (s[i][k] == '*') {
      cout << "NO";
      exit(0);
      return false;
    }
    k--;
  }
  int r;
  for (r = i + 1; r < h;) {
    if (s[r][j] == '*') {
      fl3 = true;
      r++;
    } else if (s[r][j] == '.') {
      break;
    }
  }
  while (r < h) {
    if (s[r][j] == '*') {
      cout << "NO";
      exit(0);
      return false;
    }
    r++;
  }
  r = i - 1;
  for (; r >= 0;) {
    if (s[r][j] == '*') {
      fl4 = true;
      r--;
    } else if (s[r][j] == '.') {
      break;
    }
  }
  while (r >= 0) {
    if (s[r][j] == '*') {
      cout << "NO";
      exit(0);
      return false;
    }
    r--;
  }
  if (fl1 && fl2 && fl3 && fl4)
    return true;
  else
    return false;
}
int main() {
  int h, w;
  cin >> h >> w;
  vector<string> s(h);
  for (int i = 0; i < h; i++) {
    cin >> s[i];
  }
  if (s[0][0] == '*') {
    cout << "NO";
    exit(0);
  }
  bool flag = false;
  int row = INT_MAX;
  int col = INT_MAX;
  for (int i = 0; i < h; i++) {
    for (int j = 0; j < w; j++) {
      if ((i != row && j != col) && (s[i][j] == '*')) {
        if (isplus(s, i, j) && flag == false) {
          flag = true;
          row = i;
          col = j;
          break;
        }
      }
    }
  }
  if (row != INT_MAX && col != INT_MAX) {
    for (int i = 0; i < h; i++) {
      for (int j = 0; j < w; j++) {
        if ((i == row || j == col)) {
          continue;
        } else {
          if (s[i][j] == '*') {
            cout << "NO";
            exit(0);
          }
        }
      }
    }
  } else {
    cout << "NO";
    exit(0);
  }
  if (flag)
    cout << "YES";
  else
    cout << "NO";
}
