#!/usr/bin/python from sys import argv, stdin # This will be different for everyone! key = argv[1] fulltext = stdin.read().lower() key_count = 0 ciphertext = "" for letter in fulltext: letter_number = ord(letter) - ord('a') + 1 if letter_number < 1 or letter_number > 26: continue # New section for Vigenere, calculate shift shift = ord(key[key_count]) - ord('a') + 1 key_count += 1 if key_count >= len(key): key_count = 0 new_letter_number = letter_number + shift if new_letter_number > 26: new_letter_number -= 26 ciphertext += chr(new_letter_number + ord('a') - 1) print ciphertext.upper()