// 双指针算法核心:
// 优化双重循环 即暴力算法 双重for O(n^2)

// for(int i = 0; i < n; i++){
//     for(int j = 0; j < n; j++){
//         每道题的具体逻辑
//     }
// }

// 至O(n) 因为双指针算法时间复杂度不超过O(2n) 即O(n)

// for(i = 0, j = 0; i < n; i++){
//     while(j < i && check(i, j)) j++;
    //每道题的具体逻辑
// }

// 所有的双指针算法都是O(n)


#include <iostream>
#include <string.h>

using namespace std;

int main(){
    char str[1000];
    
    fgets(str, 100, stdin);
    
    int n = strlen(str);
    
    for(int i = 0; i < n; i++){
        int j = i;
        while(j < n && str[j] != ' ') j++;
        
        for(int k = i; k < j; k++) cout << str[k];
        cout << endl;
        
        i = j;
    }
    
    return 0;
}