def units(n, cases):
    n = abs(n)
    word = ''
    if n % 10 == 1 and n % 100 != 11:
        word = cases['nom']
    elif (n % 10 >= 2) and (n % 10 <= 4) and (n % 100 < 10 or n % 100 >= 20):
        word = cases['gen']
    else:
        word = cases['plu']
    return word


def test(cases):
    nums = [0, 21, 303, 658]
    for num in nums:
        print(num, units(num, cases))
    print()


year = {
    'nom': 'год',
    'gen': 'года',
    'plu': 'лет',
}

month = {
    'nom': 'месяц',
    'gen': 'месяца',
    'plu': 'месяцев',
}

day = {
    'nom': 'день',
    'gen': 'дня',
    'plu': 'дней',
}

hour = {
    'nom': 'час',
    'gen': 'часа',
    'plu': 'часов',
}

minute = {
    'nom': 'минута',
    'gen': 'минуты',
    'plu': 'минут',
}

second = {
    'nom': 'секунда',
    'gen': 'секунды',
    'plu': 'секунд',
}


test(year)
test(month)
test(day)
test(hour)
test(minute)
test(second)
