import java.util.*;
import java.util.stream.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            String inputStr = in.nextLine();
            // 用引号进行切分
            String[] splitTmp = inputStr.split("\"");
            // 结果集
            List<String> result = new ArrayList<>();
            // 遍历每一段
            for(int i = 1;i<=splitTmp.length;i++){
                // 提取对应段
                String s = splitTmp[i-1];
                // 引号包裹的段,其序号都为偶数;包含多个命令的需拆分后进行写入
                if(i%2 !=0 && s.contains(" ") && s.length() > 1){
                    String[] tmp = s.split(" ");
                    for(String ss:tmp){
                        if(ss.length() > 0 && ss != " "){
                            result.add(ss);
                        }
                    }
                }else{
                    // 引号段,不包含多个命令的直接加入
                    result.add(s);
                }
            }

            // 输出数量
            System.out.println(result.size());
            // 输出每个命令
            for(String s:result){
                System.out.println(s);
            }
        }
    }
}