#include <bits/stdc++.h>
using namespace std;
string s;
vector<string> v;
int it;
int fi() {
  cout << "NO";
  getchar();
  getchar();
  return 0;
}
int main() {
  cin >> s;
  string el1 = "", el2;
  while (it < s.size() && s[it] != '.') el1 += s[it++];
  ++it;
  if (it >= s.size() || s[s.size() - 1] == '.' || el1.size() < 1 ||
      el1.size() > 8)
    return fi();
  while (it < s.size()) {
    el2 = "";
    while (it < s.size() && s[it] != '.') el2 += s[it++];
    ++it;
    if ((el2.size() < 2 && it < s.size()) || el2.size() > 11) return fi();
    if (it >= s.size()) {
      if (el2.size() > 3) return fi();
      v.push_back(el1 + "." + el2);
    } else {
      if (el2.size() > 3) {
        v.push_back(el1 + "." + el2.substr(0, 3));
        el1 = el2.substr(3);
      } else {
        v.push_back(el1 + "." + el2.substr(0, 1));
        el1 = el2.substr(1);
      }
    }
  }
  cout << "YES" << endl;
  for (auto el : v) cout << el << endl;
  getchar();
  getchar();
  return 0;
}
