#include <bits/stdc++.h>
using namespace std;
bool visited[1009][1009];
int main() {
  {
    long long i, j, k, l, a = -1, b = -1, c = -1, d = -1, m, n, cnt = 0,
                          sum = 0, p = -1, f = 0, ff = 0, c1 = 0, c2 = 0,
                          c3 = 0, c4 = 0;
    cin >> n >> m;
    char arr[n][m];
    for (i = 0; i < n; i++) {
      for (j = 0; j < m; j++) {
        cin >> arr[i][j];
      }
    }
    for (i = 1; i < n - 1; i++) {
      for (j = 1; j < m - 1; j++) {
        if (arr[i][j] == '*' && arr[i + 1][j] == '*' && arr[i - 1][j] == '*' &&
            arr[i][j + 1] == '*' && arr[i][j - 1] == '*' && f == 0) {
          f = 1;
          a = i;
          b = j;
        }
      }
    }
    if (f == 0) {
      cout << "NO" << endl;
      return 0;
    }
    int x = b, y = b;
    while (arr[a][x] == '*' && x >= 0) {
      if (arr[a][x] == '*') {
        visited[a][x] = 1;
        x--;
      } else
        break;
    }
    while (arr[a][y] == '*' && y < m) {
      if (arr[a][y] == '*') {
        visited[a][y] = 1;
        y++;
      } else
        break;
    }
    x = a, y = a;
    while (arr[x][b] == '*' && x >= 0) {
      if (arr[x][b] == '*') {
        visited[x][b] = 1;
        x--;
      } else
        break;
    }
    while (arr[y][b] == '*' && y < (n)) {
      if (arr[y][b] == '*') {
        visited[y][b] = 1;
        y++;
      } else
        break;
    }
    for (i = 0; i < n; i++) {
      for (j = 0; j < m; j++) {
        if (arr[i][j] == '*' && visited[i][j] != 1) {
          cout << "NO";
          return 0;
        }
      }
    }
    cout << "YES" << endl;
  }
}
