def wordLengths(names):
    lengths = [0] * (1 + longestName(names))
    for name in names:
        lengths[len(name)] += 1
    return lengths

def longestName(names):
    longest = 0
    for name in names:
        if len(name) > longest:
            longest = len(name)
    return longest

def printHistogram(hist):
    for i in range(len(hist)):
        print(i, "letters:", hist[i])

def makeNumList(n):
    result = []
    for i in range(n):
        result.append(i)
    return result

def makeNumString(n):
    result = ""
    for i in range(n):
        result += str(i)
    return result

def addOne(lst):
    result = []
    for i in lst:
        result.append(i+1)
    return result

def divide(lst, n):
    result = []
    for i in lst:
        if i != 0:
            result.append(n / i)
    return result

def encryptString(s, n):
    result = ""
    for i in s:
        result += chr(((ord(i) - ord('a') + n) % 26) + ord('a'))
    return result

def encryptList(lst, n):
    result =[]
    for i in lst:
        result.append(encryptString(i, n))
    return result

import random

def randomValues(n):
    result = []
    for i in range(n):
        result.append(random.randint(1, 6))
    return result

def randomChars(n):
    result = []
    for i in range(n):
        result.append(chr(random.randint(0, 25) + ord('a')))
    return result

def addOneInPlace(lst):
    for i in range(len(lst)):
        lst[i] = lst[i] + 1
        
def makeLetters(n):
    result = []
    for i in range(ord('A'), ord('A') + n):
        result.append(chr(i))
    return result
    
def noVowels(lst):
    result = []
    for i in lst:
        if i.lower() not in 'aeiou':
            result.append(i)
    return result

def noNegative(lst):
    result = []
    for i in lst:
        if i >= 0:
            result.append(i)
    return result