#include <bits/stdc++.h>
int start[1000000];
using namespace std;
int main() {
  string str;
  vector<int> VI;
  string::size_type pos = 0;
  int flag = 0;
  cin >> str;
  while ((pos = str.find_first_of(".", pos)) != string::npos) {
    VI.push_back(pos);
    pos++;
    flag++;
  }
  start[flag] = str.size();
  if (VI.size() == 0 || VI[0] > 8 || VI[0] < 1 ||
      str.size() - VI[flag - 1] > 4 || str.size() - VI[flag - 1] < 2) {
    cout << "NO" << endl;
    return 0;
  }
  for (int i = 1; i < VI.size(); i++) {
    if (VI[i] - VI[i - 1] > 12 || VI[i] - VI[i - 1] < 3) {
      cout << "NO" << endl;
      return 0;
    }
    if (VI[i] - VI[i - 1] > 4)
      start[i] = VI[i - 1] + 4;
    else
      start[i] = VI[i - 1] + 2;
  }
  cout << "YES" << endl;
  for (int i = 0; i < VI.size(); i++) {
    for (int j = start[i]; j < start[i + 1]; j++) cout << str[j];
    cout << endl;
  }
  return 0;
}
