#include <bits/stdc++.h>
char s[400001];
int main() {
  std::vector<int> r, t;
  int n, m(0), h(0), k(0);
  char w[16];
  std::scanf("%s", s);
  for (int i(0); s[i]; ++i) {
    ++m;
    if (s[i] == '.') r.push_back(i);
  }
  if (r.empty() || r.front() < 1 || 8 < r.front() || m - r.back() < 2 ||
      4 < m - r.back()) {
    std::puts("NO");
    goto E;
  }
  n = r.size();
  for (int i(1); i < n; ++i) {
    if (r[i] - r[i - 1] < 3 || 12 < r[i] - r[i - 1]) {
      std::puts("NO");
      goto E;
    }
  }
  for (int i(1); i < n; ++i) {
    if (10 < r[i] - r[i - 1])
      t.push_back(r[i - 1] + 3);
    else
      t.push_back(r[i - 1] + 1);
  }
  t.push_back(m - 1);
  std::puts("YES");
  for (int i(0); s[i]; ++i) {
    w[k++] = s[i];
    if (i == t[h]) {
      w[k] = '\0';
      std::puts(w);
      ++h, k = 0;
    }
  }
E:
  return 0;
}
