#include <bits/stdc++.h>
using namespace std;
char s[400005];
vector<string> ans;
int main(void) {
  scanf("%s", &s);
  string a = (string)s;
  int i = 0;
  string b, c;
  while (a[i] != '.') {
    b += a[i];
    i++;
    if (i == a.length()) break;
  }
  if ((b.length() > 8) || (b.length() < 1)) {
    printf("NO\n");
    return 0;
  }
  i++;
  while ((i < a.length())) {
    while (a[i] != '.') {
      c += a[i];
      i++;
      if (i == a.length()) break;
    }
    if (i == a.length()) {
      if ((c.length() > 0) && (c.length() < 4)) {
        ans.push_back(b + "." + c);
        printf("YES\n");
        for (int i = 0; i < ans.size(); i++) printf("%s\n", ans[i].c_str());
        return 0;
      } else {
        printf("NO\n");
        return 0;
      }
    }
    i++;
    if ((c.length() < 2) || (c.length() > 11)) {
      printf("NO\n");
      return 0;
    }
    if (c.length() == 2) {
      ans.push_back(b + "." + c.substr(0, 1));
      b = c.substr(1);
    } else {
      if (c.length() == 3) {
        ans.push_back(b + "." + c.substr(0, 2));
        b = c.substr(2);
      } else {
        ans.push_back(b + "." + c.substr(0, 3));
        b = c.substr(3);
      }
    }
    c = "";
  }
  printf("NO\n");
  return 0;
}
