#include <bits/stdc++.h>
using namespace std;
int main() {
  string s;
  cin >> s;
  if (s.find("..") < s.length() || s[0] == '.' || s[s.length() - 1] == '.' ||
      s.find(".") >= s.length()) {
    cout << "NO";
    return 0;
  }
  for (int i = 0; i < s.length(); i++) {
    int len = 0;
    while (len + i < s.length() && s[len + i] != '.') len++;
    if (i == 0 && len > 8) {
      cout << "NO";
      return 0;
    } else if (i + len == s.length() && len > 3) {
      cout << "NO";
      return 0;
    } else if (i != 0 && i + len != s.length() && (len > 11 || len < 2)) {
      cout << "NO";
      return 0;
    }
    i += len;
  }
  cout << "YES" << endl;
  for (int i = 0; i < s.length(); i++) {
    int len1 = 0;
    while (i + len1 < s.length() && s[i + len1] != '.') len1++;
    len1++;
    int len2 = 0;
    while (i + len1 + len2 < s.length() && s[i + len1 + len2] != '.') len2++;
    if (len2 <= 3) {
      if (i + len1 + len2 == s.length()) len2++;
      cout << s.substr(i, len1 + len2 - 1) << endl;
      i += len1 + len2 - 2;
    } else {
      cout << s.substr(i, len1 + 3) << endl;
      i += len1 + 2;
    }
  }
  return 0;
}
