#include <unistd.h>
#include <string.h>
#include <stdio.h>
#define panic(x) {fprintf (stderr, x); _exit (-1);}

void print_pass (char *ptr, int len)
{
	char *part;

	part = (char *) malloc(len + 1);
	if (!part)
		panic ("Dupa?\n");

	memcpy (part, ptr, len);
	part[len] = (char) NULL;
	printf ("%s\n", part);

	free (part);
}

int main (int argc, char **argv)
{
	int len;

	if (argc < 2)
		panic ("Nie podałeś hasła.\n");

	len = strlen(argv[1]);
	if (len & 1)
		panic ("Tego hasła nie da się złamać :-(\n");

	fprintf (stderr, "Łamanie hasła...\n");
	len >>= 1;
	print_pass (argv[1], len);
	print_pass (argv[1] + len, len);

	return 0;
}
