#include <bits/stdc++.h>
using namespace std;
int main() {
  string data;
  cin >> data;
  vector<string> res;
  bool ok = true;
  int index = 0;
  string tmp;
  while (ok && index < data.size()) {
    while (index < data.size() && data[index] != '.') {
      tmp += data[index];
      index++;
    }
    if (tmp.size() > 0 && tmp.size() < 9 && index < data.size() &&
        data[index] == '.') {
      tmp += data[index];
      index++;
      for (int i = 0; i < 3 && index < data.size() && data[index] != '.'; i++) {
        if ((index + 1 < data.size() && data[index + 1] != '.') ||
            index + 1 == data.size()) {
          tmp += data[index];
          index++;
        }
      }
      ok &= tmp[tmp.size() - 1] != '.';
      if (ok) {
        res.push_back(tmp);
        tmp.clear();
      }
    } else
      ok = false;
  }
  if (ok) {
    cout << "YES\n";
    for (const auto& r : res) cout << r << '\n';
  } else
    cout << "NO\n";
  return 0;
}
