#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1000000;
string s;
vector<string> res;
int main() {
  cin >> s;
  res.push_back("");
  for (int i = 0; i < s.length(); ++i) {
    if (s[i] == '.')
      res.push_back("");
    else
      res.back() += s[i];
  }
  if (!res[0].length() || res[0].length() > 8 || !res.back().length() ||
      res.back().length() > 3 || res.size() == 1) {
    printf("NO");
    return 0;
  }
  for (int i = 1; i < res.size() - 1; ++i)
    if (res[i].length() > 11 || res[i].length() < 2) {
      printf("NO");
      return 0;
    }
  vector<string> out;
  out.push_back(res[0]);
  for (int i = 1; i < res.size() - 1; ++i) {
    int l = min((int)res[i].length() - 1, 3);
    out.back() += "." + res[i].substr(0, l);
    out.push_back(res[i].substr(l));
  }
  out.back() += "." + res.back();
  printf("YES\n");
  for (int i = 0; i < out.size(); ++i) printf("%s\n", out[i].c_str());
}
