#include <bits/stdc++.h>
using namespace std;
int main() {
  string s;
  getline(cin, s);
  int x = s.size();
  string s2;
  int i = 0;
  while (i < x) {
    if (s[i] == ' ') {
      int q = i + 1;
      for (int j = q; j < x; j++) {
        if (s[j] == ' ') {
          continue;
        } else if (s[j] == ',') {
          s2 += ", ";
          int q2 = j + 1;
          int q3 = 0;
          for (int k = q2; k < x; k++) {
            if (s[k] == ' ') {
              continue;
            } else {
              s2 += s[k];
              q3 = k + 1;
              break;
            }
          }
          i = q3;
          break;
        } else if (s[j] == '!') {
          s2 += "! ";
          int q2 = j + 1;
          int q3 = 0;
          for (int k = q2; k < x; k++) {
            if (s[k] == ' ') {
              continue;
            } else {
              s2 += s[k];
              q3 = k + 1;
              break;
            }
          }
          i = q3;
          break;
        } else if (s[j] == '?') {
          s2 += "? ";
          int q2 = j + 1;
          int q3 = 0;
          for (int k = q2; k < x; k++) {
            if (s[k] == ' ') {
              continue;
            } else {
              s2 += s[k];
              q3 = k + 1;
              break;
            }
          }
          i = q3;
          break;
        } else if (s[j] == '.') {
          s2 += ". ";
          int q2 = j + 1;
          int q3 = 0;
          for (int k = q2; k < x; k++) {
            if (s[k] == ' ') {
              continue;
            } else {
              s2 += s[k];
              q3 = k + 1;
              break;
            }
          }
          i = q3;
          break;
        } else {
          s2 += ' ';
          i = j;
          break;
        }
      }
    } else if (s[i] == ',') {
      s2 += ", ";
      int q2 = i + 1;
      int q3 = 0;
      for (int k = q2; k < x; k++) {
        if (s[k] == ' ') {
          continue;
        } else {
          s2 += s[k];
          q3 = k + 1;
          break;
        }
      }
      i = q3;
    } else if (s[i] == '.') {
      s2 += ". ";
      int q2 = i + 1;
      int q3 = 0;
      for (int k = q2; k < x; k++) {
        if (s[k] == ' ') {
          continue;
        } else {
          s2 += s[k];
          q3 = k + 1;
          break;
        }
      }
      i = q3;
    } else if (s[i] == '!') {
      s2 += "! ";
      int q2 = i + 1;
      int q3 = 0;
      for (int k = q2; k < x; k++) {
        if (s[k] == ' ') {
          continue;
        } else {
          s2 += s[k];
          q3 = k + 1;
          break;
        }
      }
      i = q3;
    } else if (s[i] == '?') {
      s2 += "? ";
      int q2 = i + 1;
      int q3 = 0;
      for (int k = q2; k < x; k++) {
        if (s[k] == ' ') {
          continue;
        } else {
          s2 += s[k];
          q3 = k + 1;
          break;
        }
      }
      i = q3;
    } else {
      s2 += s[i];
      i++;
    }
  }
  cout << s2 << endl;
  return 0;
}
