// 双指针算法核心:
// 优化双重循环 即暴力算法 双重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;
}