import java.util.*;
/**
* HJ74 参数解析 - 中等
*/
public class HJ074 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
StringBuilder sb = new StringBuilder();
ArrayList<String> list = new ArrayList();
boolean flag = false;
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (String.valueOf(c).equals("\"")) {
//遇到第一个引号 flag为true,第二个引号 flag为false
flag = !flag;
continue;//继续遍历下一个字符
}
//如果c是空格 ,且flag为false时,即没有引号 或已经是第二个引号结束
if (String.valueOf(c).equals(" ") && !flag) {
list.add(sb.toString());//往集合中添加当前拼接到的字符串
sb = new StringBuilder();//置空 重新遍历下一个字符
} else {
//即 不是引号 也不是第二种逻辑
sb.append(c);
}
}
//最后遍历结束 没有空格或引号,需要再加上sb 打印出数组的长度,即几个命令
list.add(sb.toString());
System.out.println(list.size());
for (String s : list) {
System.out.println(s);
}
sc.close();
}
}