#include <bits/stdc++.h>
using namespace std;
int INF = 1e9;
int main() {
  string s;
  getline(cin, s);
  if (s.size() < 3) {
    cout << "NO";
    return 0;
  }
  vector<string> ans;
  string tmp = "";
  for (int i = 0; i < (int)s.length(); i++) {
    if (s[i] == '.') {
      if (tmp.size() < 1) {
        cout << "NO";
        return 0;
      }
      if (ans.size() == 0) {
        if (tmp.size() > 8) {
          cout << "NO";
          return 0;
        }
        tmp += '.';
        ans.push_back(tmp);
      } else {
        if (tmp.size() < 2 || tmp.size() > 11) {
          cout << "NO";
          return 0;
        }
        string tn = tmp.substr(0, max(1, (int)tmp.size() - 8));
        ans.push_back(tn);
        tn = tmp.substr(max((int)tmp.size() - 8, 1),
                        min(8, (int)tmp.size() - 1));
        tn += '.';
        ans.push_back(tn);
      }
      tmp = "";
    } else
      tmp += s[i];
  }
  if (tmp.size() > 3 || ans.size() < 1 || tmp.size() == 0) {
    cout << "NO";
    return 0;
  }
  ans.push_back(tmp);
  cout << "YES" << endl;
  for (int i = 0; i < (int)ans.size(); i++) {
    cout << ans[i] << ans[i + 1] << endl;
    i++;
  }
  return 0;
}
