#include <bits/stdc++.h>
using namespace std;
char a[505][505];
int f1[505], f2[505];
int dx[] = {1, -1, 0, 0};
int dy[] = {0, 0, 1, -1};
int main() {
  int n, m;
  scanf("%d%d ", &n, &m);
  for (int i = 1; i <= n; ++i) scanf("%s", a[i] + 1);
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= m; ++j) {
      if (a[i][j] == '*') f1[i]++, f2[j]++;
    }
  int x = 0, y = 0;
  for (int i = 1; i <= n; ++i)
    if (f1[x] < f1[i]) x = i;
  for (int i = 1; i <= m; ++i)
    if (f2[y] < f2[i]) y = i;
  if (a[x][y] != '*') {
    printf("NO\n");
    return 0;
  }
  for (int k = 0; k < 4; ++k) {
    if (a[x + dx[k]][y + dy[k]] != '*') {
      printf("NO\n");
      return 0;
    }
    for (int j = 1; a[x + j * dx[k]][y + j * dy[k]] == '*'; ++j)
      a[x + j * dx[k]][y + j * dy[k]] = '.';
  }
  a[x][y] = '.';
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= m; ++j)
      if (a[i][j] == '*') {
        printf("NO\n");
        return 0;
      }
  printf("YES\n");
  return 0;
}
