#include <stdio.h>

const char * heslo = "JOHA";

int main(int argc, char * argv[])
{
	FILE * input = stdin;
	FILE * output = stdout;

	int i, j, c;
	const char *p; 
	
	if (argc >= 2) {
		input = fopen(argv[1], "rt");
		if (input == NULL) return 1;
	}
	
	if (argc >= 3) {
		output = fopen(argv[2], "wt");
		if (output == NULL) return 2;
	}

	p = heslo;
	while ((c = fgetc(input)) != EOF) {
		
		c = toupper(c);
		
		if (c >= 'A' && c <= 'Z') {
			i = c - 'A';
			j = *p - 'A';
			i = (i + j) % 26;
			fputc(i + 'A', output);
			p++; if (!*p) p = heslo;
		} else fputc(c, output);
	}
	
	if (input != stdin) fclose(input);
	if (output != stdout) fclose(output);

	return 0;
}
