function goForth(c, n, d) {
	c += ' ';
	
	var length = c.length;
	var number = 0;
	var bar = 0;
	var answer = '';
	
	for(var i = 0; i < length; i++) {
		number = 0;
		bar = 0;
		
		while(c.charCodeAt(i) != 32) {
			number = number * 10;
			number = number + c.charCodeAt(i) - 48;
			i++;
		}
		
		answer += String.fromCharCode(decrypt(number, n, d));
	}
	
	parent.location = 'm' + 'a' + 'i' + 'l' + 't' + 'o' + ':' + answer;
}

function showText(c, n, d) {
	c += ' ';
	
	var length = c.length;
	var number = 0;
	var bar = 0;
	var answer = '';
	
	for(var i = 0; i < length; i++) {
		number = 0;
		bar = 0;
		
		while(c.charCodeAt(i) != 32) {
			number = number * 10;
			number = number + c.charCodeAt(i) - 48;
			i++;
		}
		
		document.write('&');
		document.write('#');
		document.write(decrypt(number, n, d));
	}
}

function decrypt(c, n, d) {
	if (d % 2== 0) {
		bar = 1;
		
		for(var i = 1; i <= d / 2; i++) {
			foo = (c * c) % n;
			bar = (foo * bar) % n;
		}
	} else {
		bar = c;
		
		for(var i = 1; i <= d / 2; i++) {
			foo = (c * c) % n;
			bar = (foo * bar) % n;
		}
	}
	
	return bar;
}