#include <stdio.h>
#include <stdlib.h>

int numrepeat = 1;
int inisize = 80;
char go = EOF;

int main(int argc, char * argv[])
{
	if ((argc == 2)||(argc == 3))
	{
		numrepeat = atoi(argv[1]);
	}
	if (argc == 3)
	{
		if (!strcmp(argv[2],"eof"))
		{
			go = EOF;
		}
		if (!strcmp(argv[2],"space"))
		{
			go = ' ';
		}
		if (!strcmp(argv[2],"newline"))
		{
			go = '\n';
		}
	}
		
	int flag = 0;
	while (flag != 1)
	{
		char * buffer = malloc(inisize*sizeof(char));
		int memsize = inisize;
		int wc = 0;
		char c = 0;
		while ((c != go)&&(c != EOF))
		{
			c = getchar();
			wc++;
			if (wc >= memsize)
			{
				memsize += inisize;
				buffer = realloc(buffer,memsize);
			}
			*(buffer + wc) = c;
			if (c == EOF)
			{
				flag = 1;
			}
		}
		int n = 0;
		for (n=0;n<numrepeat;n++)
		{
			int cw = 0;
			for (cw=1;cw<wc;cw++)
			{
				putchar(*(buffer + cw));
			}
		}
		free(buffer);
	}	
	return 0;
}
