#include <bits/stdc++.h>
using namespace std;
int main() {
  int t = 1;
  while (t--) {
    long long n, i, j = 0, c = 0, k = 0;
    string s;
    cin >> s;
    if (s.size() <= 2 || s[s.size() - 1] == '.' || s[0] == '.') {
      cout << "NO";
      return 0;
    }
    n = s.size();
    vector<string> v;
    long long con = count(s.begin(), s.end(), '.');
    if (con == 0) {
      cout << "NO";
      return 0;
    }
    if (con == 1) {
      long long first = s.find('.');
      if (first > 8 || n - first > 4)
        cout << "NO";
      else
        cout << "YES" << endl << s;
      return 0;
    }
    long long first = s.find('.');
    if (first > 8) {
      cout << "NO";
      return 0;
    }
    j = first;
    for (i = j + 1; i < s.size(); i++) {
      if (s[i] == '.') {
        if (i - j > 12 || i - j <= 2) {
          cout << "NO";
          return 0;
        }
        if (i - j >= 5) {
          string p = s.substr(k, j + 4 - k);
          v.push_back(p);
          k = j + 4;
          j = i;
        } else if (i - j < 5) {
          string p = s.substr(k, j + 2 - k);
          v.push_back(p);
          k = j + 2;
          j = i;
        }
      }
    }
    if (n - j >= 5) {
      cout << "NO";
      return 0;
    } else {
      string p = s.substr(k, n - k + 1);
      v.push_back(p);
    }
    cout << "YES" << endl;
    for (i = 0; i < v.size(); i++) cout << v[i] << endl;
    cout << endl;
  }
  return 0;
}
