#!/usr/bin/python3
def ceasar_shift_char(char,shift):
	if 'A'<= char <= 'Z':
		return chr((ord(char)-ord('A') + n )%26 + ord('A'))
	elif 'a' <= char <= 'z':
		return chr((ord(char)-ord('a') + n)%26 + ord('a'))
	elif 'Α' <= char <= 'Ω':
		return chr((ord(char)-ord('Α') + n)%24 + ord('Α'))
	elif 'α' <= char <= 'ω':
		return chr((ord(char)-ord('α') + n)%24 + ord('α'))
	elif '0' <= char <= '9':
		return chr((ord(char)-ord('0') + n)%10 + ord('0'))
	else:
		return char

def ceasar_cipher(text,n):
	return ''.join(ceasar_shift_char(c,n) for c in text)

def ceasar_decipher(text,n):
	return ceasar_cipher(text,-n)

def main():
	example_text="Καλημέρα Hello"
	encoded_text=ceasar_cipher(example_text,3)
	print (encoded_text)
	decoded_text=ceasar_decipher(encoded_text,3)
	print (decoded_text)

if __name__=="__main__":
	main()
