ciphertext = "aWnegWRi18LwQXnXgxqEF}blhs6G2cVU_hOz3BEM2{fjTb4BI4VEovv8kISWcks4"
flag_prefix = "TISC"

charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789{}_"

def rot_rot(plain, key):
        shift = key
        cipher = ""
        for char in plain:
                index = charset.index(char)
                cipher += (charset[(index + shift) % len(charset)])
                shift = (shift + key) % len(charset)

        return cipher

def unrot_unrot(ciphertext, key):
	shift = key
	plaintext = ""
	for char in ciphertext:
			index = charset.index(char)
			plaintext += (charset[(index - shift) % len(charset)])
			shift = (shift + key) % len(charset)
	return plaintext


for i in range(len(charset)):
	if rot_rot(flag_prefix, i) == ciphertext[:len(flag_prefix)]:
		print(i)
		print(unrot_unrot(ciphertext, i))
		break
