#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  string s;
  cin >> s;
  int n = s.size();
  int dp[n], i;
  memset(dp, 0, sizeof(dp));
  for (i = 0; i < n; i++) {
    if (s[i] == '.') {
      dp[i] = 1;
    }
  }
  vector<int> index;
  for (i = 0; i < n; i++) {
    if (dp[i] == 1) {
      index.push_back(i);
    }
  }
  if (index.size() == 0 || n < 3 || index[index.size() - 1] == n - 1 ||
      index[0] == 0 || index[index.size() - 1] < n - 4 || index[0] > 8) {
    cout << "NO" << endl;
    return 0;
  }
  vector<int> ol;
  for (i = 1; i < index.size(); i++) {
    int temp = index[i] - index[i - 1] - 1;
    if (temp < 2 || temp > 11) {
      cout << "NO" << endl;
      return 0;
    }
    if (temp < 4) {
      ol.push_back(temp - 1);
    } else {
      ol.push_back(3);
    }
  }
  cout << "YES" << endl;
  i = 0;
  int curr = 0;
  while (i < index[index.size() - 1]) {
    if (s[i] != '.') {
      cout << s[i];
      i++;
    } else {
      cout << '.';
      int l = ol[curr];
      curr++;
      for (int j = 0; j < l; j++) {
        cout << s[i + j + 1];
      }
      cout << endl;
      i += l + 1;
    }
  }
  while (i < s.size()) {
    cout << s[i];
    i++;
  }
  cout << endl;
  return 0;
}
