diff --git a/README.md b/README.md
index dca043b..992c987 100644
--- a/README.md
+++ b/README.md
@@ -175,3 +175,89 @@ else:
print("Нет.")
```
+## Решение задач из файла `Задания_олимпиады_инф.docx`
+**1.** Для детей решили вырезать разные геометрические фигуры: круг, треугольник, квадрат. Каждой фигуры по одной. Сколько останется бумаги по площади после обрезки. Считается, что все фигуры можно вырезать на листе бумаге размером AxB. Для каждой фигуры даны соответствующие параметры: для круга - радиус, для квадрата и треугольника равностороннего - длина стороны.
+Пример:
+| Ввод | Вывод |
+| --- | --- |
+| 5 6
1 2 3 | 18.96 |
+**Решение:**
+```Python
+from math import pi, sqrt
+
+a, b = input().split(" ")
+r, f, h = input().split(" ")
+a, b, r, f, h = int(a), int(b), int(r), int(f), int(h)
+
+paperSquare = a*b
+rectSquare = f**2
+circleSquare = r**2*pi
+triangleSquare = (h**2*sqrt(3))/4
+result = round(paperSquare-circleSquare-rectSquare-triangleSquare, 2)
+print(result)
+```
+**2.** Красивое число делится на 7 и не содержит повторяющихся цифр, например, 21 - красивое число, а 77 - нет. Найти на заданном отрезке все красивые числа. Если таких чисел нет, то вывести сообщение "NO".
+| Ввод | Вывод |
+| --- | --- |
+| 5 20 | 7 14 |
+**Решение:**
+```Python
+a, b = input().split(" ")
+a, b = int(a), int(b)
+
+def isPrettyNumber(n):
+ digits = [i for i in str(n)]
+ unique_digits = set(digits)
+ return n % 7 == 0 and len(digits) == len(unique_digits)
+
+existPrettyNumbers = False
+for i in range(a, b+1):
+ if isPrettyNumber(i):
+ print(i, end=" ")
+ existPrettyNumbers = True
+
+if not existPrettyNumbers:
+ print("NO")
+else:
+ print()
+```
+**3.** Рыбаки поймали карпа, карася, ерша и т.д. Не все смогли выловить весь набор рыб. Каждому хочется отнести домой один и тот же комплект рыб. Смогут ли они это сделать, если собрать каждого вида рыб и разделить поровну? Учтите, что рыбы должны быть целыми.
+####### Формат ввода
+В первой строке вводится через пробел N количество рыбаков и P количество наименований рыб. Каждое число не превосходит 10 000. Далее в каждой N-ой строке записаны P чисел - количество рыб соответствующих наименований (от 0 до 109).
+####### Формат вывода
+На первой строке вывести "Yes", если это возможно и далее на второй строке соответствующее количество рыб каждого наименования через пробел. Если это не возможно, то вывести "No".
+Пример:
+| Ввод | Вывод |
+| --- | --- |
+| 3 2
12 6
0 8
3 1 | Yes
5 5 |
+**Решение:**
+```Python
+fishersmen, categories = input().split(" ")
+fishersmen, categories = int(fishersmen), int(categories)
+fish = [0 for _ in range(categories)] # Заполняем массив нулями
+# [0, 0, 0, ... P]
+
+for i in range(fishersmen):
+ # Ниже собираем сколько каждого вида рыбы поймал рыбак
+ # Это список вида [8, 4, 6, ... P]
+ collectedFish = input().split(" ")
+ # Ниже преобразуем каждый элемент списка из строки в число
+ collectedFish = [int(i) for i in collectedFish]
+ # Прибавляем количесво пойманной рыбы каждого вида к списку fish
+ for j, fishAmount in enumerate(collectedFish):
+ fish[j] += fishAmount
+
+# Далее просто проверяем делится ли количество пойманной рыбы нацело
+# на количество рыбаков
+canDivide = True
+for i in fish:
+ if i % fishersmen != 0:
+ canDivide = False
+
+if canDivide:
+ print("Yes")
+ fishAmount = [str(i//fishersmen) for i in fish]
+ print(" ".join(fishAmount))
+else:
+ print("No")
+```