<jupyter_start><jupyter_text>Пропуск в библиотеку.У недавних выпускников Вышки пропуск студента в библиотеку действует еще год. Пусть в году ХХХХ любого выпускника пропуск закончится в любой месяц от 1 до 12. Определите, у скольких выпускников закончится действие пропуска в указанный месяц.**Формат ввода:**На первой строчке указан текущий месяц. Далее на каждой строчке находятся 2 числа: id студента и месяц, когда закончится действие пропуска. На последней строчке входных данных 0, он означает, что больше данных на вход нет.**Формат вывода:**Одно число.<jupyter_code>month = int(input())
inp = [int(x) for x in input().split()]
d = {}
while len(inp) != 1:
    id_, expiration_month = inp[0], inp[1]
    if expiration_month in d:
        d[expiration_month].append(id_)
    else:
        d[expiration_month] = [id_]
    inp = [int(x) for x in input().split()]
print(len(d[month]))<jupyter_output>9
110 9
112 3
115 5
116 5
117 5
118 9
0
2<jupyter_text>Тесты<jupyter_code>import random
month = random.randint(6, 12)
print(month)
N = 12
inp = [N+1, random.randint(6, 12)]
print(*inp)
d = {}
for i in range(N):
    id_, expiration_month = inp[0], inp[1]
    if expiration_month in d:
        d[expiration_month].append(id_)
    else:
        d[expiration_month] = [id_]
    inp = [i, random.randint(6, 12)]
    print(*inp)
print(0)
print()
print(len(d[month]))<jupyter_output>7
13 8
0 7
1 9
2 11
3 6
4 6
5 6
6 7
7 7
8 8
9 9
10 7
11 9
0

4<jupyter_text>Набор статей в сборникУ каждой статьи указаны авторы (их несколько) и темы (их тоже несколько). Определите самую частую пару автор-тема. Если несколько пар встретились одинаковое число раз, то выведите обе (каждую на новой строчке).**Формат ввода:**На каждой строчке сначала указаны фамилии авторов через пробел, потом запятая, потом темы (в одно слово) через пробел. Например, "<NAME>, DeepLearning Biology". Последняя строчка ввода – 0. **Формат вывода:**Кортеж из фамилии автора и темы. Например, ("Petrov", "DeepLearning").<jupyter_code>inp = input()
d = {}
while len(inp) != 1:
    names, themes = inp.split(',')
    names = names.split()
    themes = themes.split()
    for name in names:
        for theme in themes:
            tup = (name, theme)
            d[tup] = d.get(tup, 0) + 1
    inp = input()

max_val = max(d.values())
result = []
for k, v in d.items():
    if v == max_val:
        result.append(k)
print(*result, sep='\n')<jupyter_output>AA BB, CC DD
AA, CC DD
0
('AA', 'CC')
('AA', 'DD')<jupyter_text>Выдаем книги студентамТеперь будем выдавать книги студентам. На самой первой строчке есть фамилия студента и тема. Далее на вход подается информация в формате: фамилия студента, тема книги, название книги (слитно). Для студента с первой строчки определите, какую книгу он взял по данной теме. Если книг несколько, то выдать первую в лексикографическом порядке.**Формат ввода:**На первой строчке – фамилия студента, пробел, тема. Далее – фамилия, проблел, тема, пробел, название книги (слитно). На последней строчки 0 (и больше ничего).**Формат вывода:**Название книги.<jupyter_code>name_, theme_ = input().split()
inp = input().split()
d = {}
while len(inp) != 1:
    name, theme, book = inp
    if name in d:
        if theme in d[name]:
            d[name][theme].append(book)
        else:
            d[name][theme] = [book]
    else:
        d[name] = {theme: [book]}
    inp = input().split()

print(sorted(d[name_][theme_])[0])<jupyter_output>A B
A B C
A B D
A B CDCD
0
C
{'fraction_non_alphanumeric': 0.11921296296296297, 'fraction_numerical': 0.02662037037037037, 'mean_word_length': 3.855337078651685, 'pattern_counts': {'":': 0, '<': 14, '<?xml version=': 0, '>': 14, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '4', 'dir': 'jupyter-structured-clean-dedup', 'id': '182528', 'license': 'MIT', 'n_tokens_mistral': 1483, 'n_tokens_neox': 1608, 'n_words': 428, 'path': 'quiz_2_dicts.ipynb', 'repo_name': 'hse-econ-data-science/dap_2021_spring', 'size': '3463'}