#include #include #include #include #include #define bufsize 100000 int main() { int inheaders = 1; char buf1[bufsize], buf2[bufsize]; if (fgets (buf1, bufsize, stdin) == NULL) exit (0); if (fgets (buf2, bufsize, stdin) == NULL) { fputs (buf1, stdout); exit (0); } do { if (!strcmp (buf2, "\n")) inheaders = 0; else { if (isspace (buf2[0])) { assert (strlen (buf1) + strlen (buf2) + 1 < bufsize); strcpy (buf1+strlen(buf1)-1, buf2); buf2[0] = '\0'; } else { fputs (buf1, stdout); strcpy (buf1, buf2); } if (fgets (buf2, bufsize, stdin) == NULL) { fputs (buf1, stdout); exit (0); } } } while (inheaders); fputs (buf1, stdout); fputs (buf2, stdout); while (fgets (buf1, bufsize, stdin)) fputs (buf1, stdout); exit (0); }