/*
总体思路:解析出参数存放在vector数组中,之后遍历数组打印
需要注意双引号里面的字符串的解析
*/
#include<bits/stdc++.h>
using namespace std;
// 总体思路:解析出参数存放在vector数组中,之后遍历数组打印
int main(){
// 获取输入字符串
string s;
getline(cin,s);
int len = s.length();
int count=0;
vector<string> v;
string temp="";
for(int i = 0; i < len; i++){
if(s[i] == '"' && (i != len-1) ){
int j=i+1;
while( (j < len) && s[j] != '"'){
j++;
}
count++;
v.push_back(s.substr(i+1, j-i-1));
i=j;
}else if(s[i] == ' ' || (i == len - 1) ){
if(i == len - 1){
temp += s[i]; // 最后一个字符
}
if(temp != ""){
v.push_back(temp);
count++;
}
temp = "";
}else{
temp += s[i];
}
}
cout << count << endl;
for(auto item : v){
cout << item << endl;
}
return 0;
}