#include <bits/stdc++.h>
using namespace std;
int main() {
  long long i, j, e, z1, z2;
  string a, l, t1, t2, o;
  vector<string> s;
  cin >> a;
  l = "";
  for (i = 0; i < a.length(); i++) {
    if (l.length() > 11) {
      cout << "NO";
      return 0;
    }
    if (a[i] == '.') {
      if (l.length() > 11 || l.length() == 0) {
        cout << "NO";
        return 0;
      } else
        l.clear();
    } else
      l = l + a[i];
  }
  if (l.length() > 11) {
    cout << "NO";
    return 0;
  }
  z1 = 0;
  z2 = 0;
  t1 = "";
  t2 = "";
  for (i = 0; i < a.length(); i++) {
    if (z1 == 0) {
      if (a[i] == '.') {
        z1 = 1;
        if (t1.length() > 8 || t1.length() == 0) {
          cout << "NO";
          return 0;
        }
      } else
        t1 = t1 + a[i];
    } else {
      if ((i != a.length() - 1 && a[i] != '.' && a[i + 1] == '.') ||
          (t2.length() == 3)) {
        if (t2.length() == 0 || t1.length() == 0) {
          cout << "NO";
          return 0;
        }
        o = t1 + '.' + t2;
        s.push_back(o);
        o.clear();
        t1.clear();
        t2.clear();
        t1 = t1 + a[i];
        z1 = 0;
      } else
        t2 = t2 + a[i];
    }
  }
  if ((t1.length() == 0 && t2.length() != 0) || t1.length() > 8 ||
      (t2.length() == 0 && t1.length() != 0) || t2.length() > 3) {
    cout << "NO";
    return 0;
  } else if (t1.length() > 0) {
    o = t1 + '.' + t2;
    s.push_back(o);
  }
  cout << "YES" << endl;
  for (i = 0; i < s.size(); i++) {
    cout << s[i] << endl;
  }
  return 0;
}
