#include <bits/stdc++.h>
using namespace std;
string text;
bool is_punct(char c) { return c == '.' || c == ',' || c == '!' || c == '?'; }
int main(int argc, char* argv[]) {
  char prev;
  getline(cin, text);
  prev = ' ';
  int i;
  for (i = 0; i < text.length(); i++) {
    if (text[i] == ' ' && prev == ' ') {
      int k;
      for (k = i; k < text.length(); k++) {
        if (text[k] != ' ') {
          break;
        }
      }
      text.erase(text.begin() + i, text.begin() + k);
    }
    if (is_punct(text[i]) && prev == ' ') {
      int k;
      for (k = i; k > 0; k--) {
        if (text[k] != ' ') {
          break;
        }
      }
      text.erase(text.begin() + k - 1, text.begin() + i);
      i--;
    }
    if (is_punct(prev) && text[i] != ' ') {
      text.insert(text.begin() + i, ' ');
      i++;
    }
    prev = text[i];
  }
  cout << text;
  return 0;
}
