#include <bits/stdc++.h>
using namespace std;
const int E = 1e5 + 5, M = 1e9 + 5;
bool asccmp(pair<int, int> x, pair<int, int> y) { return x.second < y.second; }
long long a, b, c, cnt;
string s, t;
vector<string> v;
int main() {
  cin >> s;
  if (s.length() < 3) {
    printf("NO");
    return 0;
  }
  for (int q = 0; q < s.length(); q++) {
    if (s[q] == '.') {
      cnt++;
      if (cnt == 1) {
        if (t.length() < 9 && t.length() >= 1) {
          v.push_back(t);
        } else {
          printf("NO");
          return 0;
        }
      } else {
        if (t.length() < 12 && t.length() > 1) {
          v.push_back(t);
        } else {
          printf("NO");
          return 0;
        }
      }
      t = "";
    } else {
      t += s[q];
    }
  }
  if (t.length() > 3 || !cnt || v.size() < 1 || t == "") {
    printf("NO");
    return 0;
  } else {
    v.push_back(t);
  }
  puts("YES");
  cout << v[0] << '.';
  for (int q = 1; q < v.size() - 1; q++) {
    cout << v[q][0];
    int w = 1;
    for (; v[q].length() - w > 8; w++) {
      cout << v[q][w];
    }
    puts("");
    for (; w < v[q].length(); w++) {
      cout << v[q][w];
    }
    if (q < v.size() - 1) cout << '.';
  }
  cout << v[v.size() - 1];
}
