let line

while(line= readline()){
    let arr = line.split(' ')
    
//     console.log(arr.length)

    let newArr = []
    let addFlag = false //false 未出现分号。true 出现分号
    let count = 0
    let temp = []
    for(let i = 0;i<arr.length;i++){
        if(!arr[i].includes('"') && !addFlag){
//             不包含分号,并且没有出现分号
            newArr.push(arr[i])
        }if(!arr[i].includes('"') && addFlag){
//             不包含分号,已经出现分号
            temp.push(arr[i])
        }else if(arr[i].includes('"') && !addFlag){
//             包含分号,之前未出现分号,本次出现分号
//             判断本次字符串是否包含两个分号
//             如果出现一次则往temp里面push
//             出现两次则直接往newArr里面push
            let semiconCount = 0 
            for(let j = 0;j<arr[i].length;j++){
                if(arr[i][j].includes('"')){
                    semiconCount++
                }
            }
            if(semiconCount>1){
                count = 0
                temp = []
                newArr.push(arr[i])
                addFlag = false
            }else{
                temp.push(arr[i])
                 count++
                 addFlag = true
            }

        }else if(arr[i].includes('"') && addFlag){
//             如果出现了分号并且之前也出现了分号,则是
//             该数组为temp,newArr里面push新构成的字符串
//             count为2代表出现第二次分号的时机
            count++
            if(count == 2){
                addFlag = false
                count = 0
            }
            temp.push(arr[i])
            newArr.push(temp.join(' '))
            temp = []
        }
    }
    console.log(newArr.length)
    newArr.map(i=>{
        console.log(i.replace(new RegExp(/\"/,'g'),''))
    })
}