#include<stdio.h>
#include<string.h>

/**第一步 设置tagFl=1,如果遇到空格则替换成换行符,并计数并跳过循环。否则将值赋值给新数组
 * 第二步 如果遇到"则置tagFl=0遇到空格则不替换成换行符。
 * 第三步 只到遇到下一个"则置tagFl=1.循环第一步
*/

int main(int argc, char const *argv[])
{
    char strs[100] = { 0 };
    char pStr[100] = { 0 };
    memset(strs, 0x00, strlen(strs));


    while (gets(strs))
    {
        //初始化
        int tagFl = 1;
        int count = 1;//记录命令数,根据不在引号里的空格数
        memset(pStr, 0x00, strlen(pStr));
        int x = strlen(strs);
        for (int i = 0; i < x; i++)
        {
            if (strs[i] == '"' && tagFl == 1 )
            {
                tagFl = 0;
                continue;
            }
            if (strs[i] == '"' && tagFl == 0)
            {
                tagFl = 1;
                continue;
            }


            if (tagFl)
            {
                if (strs[i] == ' ')
                {
                    strcat(pStr, "\n");
                    count++;
                    continue;
                }
                strncat(pStr, strs+i, 1);
            }
            else
            {
                strncat(pStr, strs+i, 1);
            }
        }
        printf("%d\n", count);
        printf("%s", pStr);

    }

    return 0;
}