Create a Python function vig(action, message, key). Depending on the action ('E' or 'D'), the function encrypts or decrypts the message using the Vigenre Cipher with the specified key. Encryption is achieved by shifting letters to the right (see Homework 3), and decryption corresponds to shifting to the left. For example, to encrypt L with key D (3 shifts), L is shifted to the right by three letters to get O. To decrypt O with key D, O is shifted three letters to the left to get L. When the key is shorter than the message, we reuse the key. For example, consider a message LosAngeles and a key DOG. The first three letters L, O, S uses D, O, G, as the key, respectively. The next three letters A, N, G uses D, O, G again, and so forth. You can assume the message consists of letters only no space or other symbols. Do not assume fixed values on any variables. The program should be capable of the following. Extra requirements of the program: 1. Force inputs into upper case before looping 2. Make use of a reference list of all UPPER CASE alphabets (i.e. the program should use find function to locate alphabets instead of ord function) 3. No need to check for isalpha and characters..