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);
}
}
}
}