import java.util.Scanner;
import java.util.Stack;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String s = in.nextLine();
            Stack<String> stack = new Stack<>();
            StringBuilder sb = new StringBuilder();
            for (char c : s.toCharArray()) {

                if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) {
                    sb.append(c);
                } else {
                    if (sb.length() != 0) {
                        stack.push(sb.toString());
                        sb.delete(0,sb.length());
                    }
                    if (!stack.isEmpty() && stack.lastElement() != " ") {
                        stack.push(" ");
                    }
                }
            }
            stack.push(sb.toString());

            while(!stack.isEmpty()) {
                System.out.print(stack.pop());
            }
        }
    }
}