#include <bits/stdc++.h>
int main() {
  char n[10005];
  scanf("%[^\n]", n);
  int len = strlen(n);
  char temp[len + 1];
  int j = 0;
  for (int i = 0; i < len; i++) {
    if (n[i] >= 'a' && n[i] <= 'z') {
      temp[j] = n[i];
      j++;
    } else if (n[i] == ' ') {
      if (n[i - 1] == ' ') {
        continue;
      } else if (n[i + 1] == ' ' && n[i - 1] == ' ') {
        continue;
      } else {
        temp[j] = n[i];
        j++;
      }
    } else if (n[i] == ',' || n[i] == '?' || n[i] == '.' || n[i] == '!') {
      if (n[i - 1] == ' ') {
        j--;
        temp[j] = n[i];
        j++;
      } else {
        temp[j] = n[i];
        j++;
      }
      if (n[i + 1] != ' ') {
        temp[j] = ' ';
        j++;
      }
    }
  }
  temp[j] = '\0';
  printf("%s\n", temp);
  return 0;
}
