#include <bits/stdc++.h>
using namespace std;
const long long N = 4e5 + 10, M = N, INF = 0x3f3f3f3f, mod = 1e9 + 7;
long long n, m;
long long cnt, cnta;
long long ans[N];
bool flag;
string s;
bool isok() {
  long long len = 0;
  long long blk = 1;
  long long i;
  for (i = 0; i < s.size(); i++) {
    if (s[i] == '.') {
      if (blk == 1) {
        if (len == 0 || len > 8) return false;
      } else if (len <= 1 || len >= 12)
        return false;
      len = 0;
      blk++;
      continue;
    }
    len++;
  }
  return (s[i - 1] != '.') &&
         (s[i - 2] == '.' || s[i - 3] == '.' || s[i - 4] == '.');
}
signed main() {
  cin >> s;
  if (isok())
    cout << "YES" << endl;
  else
    cout << "NO" << endl, exit(0);
  long long i, j;
  for (i = 0; i < s.size(); i++) {
    if (s[i] == '.') {
      putchar(s[i]);
      for (j = 1; i + j < s.size(); j++)
        if (s[i + j] == '.') break;
      j--;
      if (j > 3)
        j = 3;
      else if (i + j + 1 < s.size())
        j--;
      for (long long k = 1; k <= j; k++) {
        putchar(s[i + k]);
      }
      i += j;
      cout << endl;
      continue;
    }
    putchar(s[i]);
  }
  return 0;
}
