#include <bits/stdc++.h>
using namespace std;
double eps = 1e-8;
int main() {
  string str = "";
  vector<string> ans;
  cin >> str;
  int i = 0;
  string name = "";
  while (i < str.size()) {
    if (str[i] != '.') {
      name += str[i];
      i++;
    } else
      break;
  }
  if (str.size() <= 2 || str[0] == '.' || i == str.size() || i > 8) {
    cout << "NO";
    return 0;
  }
  int count = 0;
  for (int j = i + 1; j < str.size(); j++) {
    if (str[j] != '.')
      count++;
    else {
      int k = j - count + 1;
      if (count > 11 || count < 2) {
        cout << "NO";
        return 0;
      }
      name += '.';
      name += str[j - count];
      if (count > 5) {
        name += str[j - count + 1];
        name += str[j - count + 2];
        k = j - count + 3;
      }
      ans.push_back(name);
      name = "";
      for (; k < j; k++) name += str[k];
      count = 0;
    }
  }
  if (count == 0 || count > 3) {
    cout << "NO";
    return 0;
  } else {
    name += '.';
    for (int i = str.size() - count; i < str.size(); i++) name += str[i];
    ans.push_back(name);
  }
  cout << "YES" << endl;
  for (int i = 0; i < ans.size(); i++) cout << ans[i] << endl;
  return 0;
}
