#include <bits/stdc++.h>
using namespace std;
string s, ss;
int dot;
int main() {
  while (getline(cin, s)) {
    ss.clear();
    dot = 0;
    int l = s.size();
    for (int i = 0; i < s.size(); ++i) {
      if (s[i] == ',' && s[i + 1] != ' ' && i != l - 1) {
        ss += s[i];
        ss += ' ';
      } else if (s[i] == ',' && s[i + 1] == ' ')
        ss += s[i];
      else if (s[i] == ',' && i == l - 1)
        ss += s[i];
      else if (s[i] == ' ' && s[i + 1] == ' ')
        continue;
      else if (s[i] == ' ' && s[i + 1] != ' ')
        ss += s[i];
      else if (s[i] != '.' && s[i + 1] == '.') {
        ss += s[i];
        ss += ' ';
      } else if (s[i] == '.') {
        ++dot;
        if (dot == 4 && s[i - 1] == '.') {
          ss += ' ';
          ss += s[i];
          dot = 1;
        } else if (dot == 4 && s[i - 1] != '.') {
          dot = 1;
          ss += s[i];
        } else
          ss += s[i];
      } else if (isdigit(s[i]))
        ss += s[i];
    }
    for (int i = 0; i < ss.size(); ++i) {
      if (ss[i] == ' ' && isdigit(ss[i - 1]) && ss[i + 1] == ',') continue;
      if (ss[i] == ' ' && ss[i - 1] == '.' && ss[i + 1] != '.') continue;
      cout << ss[i];
    }
    cout << endl;
  }
}
