#include <bits/stdc++.h>
using namespace std;
const double eps = 1.0e-11;
const double pi = acos(-1.0);
int main() {
  string s;
  cin >> s;
  int n = s.size();
  vector<int> points;
  for (long long i = 0; i < (int)(s).size(); i++) {
    if (s[i] == '.') {
      points.push_back(i);
    }
  }
  if (points.empty() || points.front() == 0 || points.front() > 8 ||
      points.back() == n - 1 || n - 1 - points.back() > 3) {
    cout << "NO\n";
    return 0;
  }
  vector<bool> sep((int)(s).size(), false);
  for (long long i = 1; i <= (int)(points).size() - 1; i++) {
    if (points[i] - points[i - 1] - 1 < 2 ||
        points[i] - points[i - 1] - 1 > 11) {
      cout << "NO\n";
      return 0;
    }
    int d = points[i] - points[i - 1] - 1;
    if (d > 8) {
      sep[points[i] - 8] = true;
      continue;
    }
    sep[points[i - 1] + 2] = true;
  }
  cout << "YES\n";
  for (long long i = 0; i < (int)(s).size(); i++) {
    if (sep[i]) {
      cout << endl;
    }
    cout << s[i];
  }
  return 0;
}
