Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€Π·ΠΈΠ½ΡƒΠŸΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒ
Найти Π² Π”Π·Π΅Π½Π΅

πŸ’‘ Π—Π°Π΄Π°Π½ΠΈΠ΅ 13 Π•Π“Π­. РСшаСм Π·Π° 2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π½Π° Python

Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ смотрСли Π½Π° Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΡ€ΠΎ IP-адрСса ΠΈ маски сСти ΠΈ Π΄ΡƒΠΌΠ°Π»ΠΈ: «Ну всё, это ΠΊΠΎΠ½Π΅Ρ†. Надо Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΡƒΒ»? Π― вас понимаю.
ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Π·Π°Π΄Π°Π½ΠΈΠ΅ β€” настоящий ΠΊΠΎΡˆΠΌΠ°Ρ€ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ пытаСтся Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ числа, поразрядная ΠΊΠΎΠ½ΡŠΡŽΠ½ΠΊΡ†ΠΈΡ, ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ адрСс… Π“ΠΎΠ»ΠΎΠ²Π° ΠΈΠ΄Ρ‘Ρ‚ ΠΊΡ€ΡƒΠ³ΠΎΠΌ! Но сСгодня я ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ сСкрСт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ эту Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈΠ· уТаса Π² ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ строку ΠΊΠΎΠ΄Π°. Рассмотрим Π·Π°Π΄Π°Ρ‡Ρƒ, которая ΡƒΠΆΠ΅ Π±Ρ‹Π»Π° Π½Π° экзамСнС. 🧩 УсловиС Π·Π°Π΄Π°Ρ‡ΠΈ Π‘Π΅Ρ‚ΡŒ Π·Π°Π΄Π°Π½Π° IP-адрСсом ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· входящих Π² Π½Π΅Ρ‘ ΡƒΠ·Π»ΠΎΠ² 218.194.82.148 ΠΈ сСтСвой маской 255.255.255.192. НайдитС наибольший IP-адрСс Π² Π΄Π°Π½Π½ΠΎΠΉ сСти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ. Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ IP-адрСс Π±Π΅Π· Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ это Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Π½ΡƒΠΆΠ½ΠΎ: Π­Ρ‚ΠΎ ΠΌΠΈΠ½ΡƒΡ‚ 20, Ссли Π²Ρ‹ Π½Π΅ супСргСрой. И шанс ΠΎΡˆΠΈΠ±ΠΈΡ‚ΡŒΡΡ β€” 99%. ΠžΡ‚Π²Π΅Ρ‚: 21819482190 1. from ipaddress import * 2. net = ip_network(f'218.194.82.148/255.255.255.192', 0) 3. print(net[-2]) Python автоматичСски: Никаких Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ², Π½ΠΈΠΊΠ°ΠΊΠΈΡ… AND β€” всё Π·Π° вас Π΄Π΅Π»Π°Π΅
ОглавлСниС

Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ смотрСли Π½Π° Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΡ€ΠΎ IP-адрСса ΠΈ маски сСти ΠΈ Π΄ΡƒΠΌΠ°Π»ΠΈ: «Ну всё, это ΠΊΠΎΠ½Π΅Ρ†. Надо Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΡƒΒ»?

Я вас понимаю.
ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ
это Π·Π°Π΄Π°Π½ΠΈΠ΅ β€” настоящий ΠΊΠΎΡˆΠΌΠ°Ρ€ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ пытаСтся Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ числа, поразрядная ΠΊΠΎΠ½ΡŠΡŽΠ½ΠΊΡ†ΠΈΡ, ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ адрСс… Π“ΠΎΠ»ΠΎΠ²Π° ΠΈΠ΄Ρ‘Ρ‚ ΠΊΡ€ΡƒΠ³ΠΎΠΌ!

Но сСгодня я ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ сСкрСт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ эту Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈΠ· уТаса Π² ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ строку ΠΊΠΎΠ΄Π°. Рассмотрим Π·Π°Π΄Π°Ρ‡Ρƒ, которая ΡƒΠΆΠ΅ Π±Ρ‹Π»Π° Π½Π° экзамСнС.

🧩 УсловиС Π·Π°Π΄Π°Ρ‡ΠΈ

Π‘Π΅Ρ‚ΡŒ Π·Π°Π΄Π°Π½Π° IP-адрСсом ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· входящих Π² Π½Π΅Ρ‘ ΡƒΠ·Π»ΠΎΠ² 218.194.82.148 ΠΈ сСтСвой маской 255.255.255.192.
НайдитС наибольший IP-адрСс Π² Π΄Π°Π½Π½ΠΎΠΉ сСти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ.
Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ IP-адрСс Π±Π΅Π· Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ.

🚫 ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” это ΠΏΡ‹Ρ‚ΠΊΠ°?

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ это Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Π½ΡƒΠΆΠ½ΠΎ:

  1. ΠŸΠ΅Ρ€Π΅Π²Π΅ΡΡ‚ΠΈ IP-адрСс ΠΈ маску Π² Π΄Π²ΠΎΠΈΡ‡Π½ΡƒΡŽ систСму.
  2. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡ€Π°Π·Ρ€ΡΠ΄Π½ΡƒΡŽ ΠΊΠΎΠ½ΡŠΡŽΠ½ΠΊΡ†ΠΈΡŽ (AND) β†’ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ адрСс сСти.
  3. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π±ΠΈΡ‚Ρ‹ ΠΎΡ‚Π²Π΅Π΄Π΅Π½Ρ‹ ΠΏΠΎΠ΄ хосты (Π³Π΄Π΅ Π² маскС Π½ΡƒΠ»ΠΈ).
  4. Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ адрСс хоста (всС Π±ΠΈΡ‚Ρ‹ хостовой части = 1, ΠΊΡ€ΠΎΠΌΠ΅ послСднСго β€” ΠΎΠ½ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ адрСс).
  5. ΠŸΠ΅Ρ€Π΅Π²Π΅ΡΡ‚ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ систСму.

Π­Ρ‚ΠΎ ΠΌΠΈΠ½ΡƒΡ‚ 20, Ссли Π²Ρ‹ Π½Π΅ супСргСрой. И шанс ΠΎΡˆΠΈΠ±ΠΈΡ‚ΡŒΡΡ β€” 99%.

βœ… Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π° 2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π½Π° Python? ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΏΠΎΠΉΠΌΠΈΡ‚Π΅ этот ΠΊΠΎΠ΄:

ΠžΡ‚Π²Π΅Ρ‚: 21819482190

πŸ” Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ каТдая строчка ΠΊΠΎΠ΄Π°? Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ ΠΏΠΎ ΠΏΠΎΠ»ΠΎΡ‡ΠΊΠ°ΠΌ:

1. from ipaddress import *

  • Π­Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python ipaddress, которая ΡƒΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с IP-адрСсами, сСтями ΠΈ масками.
  • * ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ β€” ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ классы ΠΈΠ· этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

2. net = ip_network(f'218.194.82.148/255.255.255.192', 0)

  • ip_network() β€” функция, которая создаёт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сСти Π½Π° основС IP-адрСса ΠΈ маски.
  • f'...' β€” f-строка, позволяСт Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΡŒ строки (здСсь просто ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ IP ΠΈ маску).
  • 218.194.82.148/255.255.255.192 β€” это CIDR-запись: IP-адрСс + маска.
  • , 0 β€” ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚: Β«Π½Π΅ провСряй, Ρ‡Ρ‚ΠΎ IP-адрСс Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ сСти». Π‘Π΅Π· Π½Π΅Π³ΠΎ Python ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли адрСс Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.

3. print(net[-2])

  • net β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сСти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит всС IP-адрСса Π² этой сСти.
  • net[-2] β€” это прСдпослСдний адрСс Π² сСти.
  • ΠŸΠΎΡ‡Π΅ΠΌΡƒ -2? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ:net[0] β€” адрСс сСти (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 218.194.82.128)
    net[-1] β€” ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ адрСс (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 218.194.82.191) β€”
    нСльзя Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ
    net[-2] β€” наибольший доступный адрСс для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° β€” ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚!

πŸ’‘ ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

Python автоматичСски:

  • Находит адрСс сСти.
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ хостовой части.
  • Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ адрСса.
  • Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½Ρ‹ΠΉ β€” прСдпослСдний.

Никаких Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ², Π½ΠΈΠΊΠ°ΠΊΠΈΡ… AND β€” всё Π·Π° вас Π΄Π΅Π»Π°Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°.

🎯 Π“Π»Π°Π²Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄

  • Π—Π°Π΄Π°Π½ΠΈΠ΅ 13 β€” Π½Π΅ ΠΏΡ€ΠΎ Π·Π½Π°Π½ΠΈΠ΅ сСтСй, Π° ΠΏΡ€ΠΎ ΡƒΠΌΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ инструмСнты.
  • На Python β€” 2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹.
  • Π’Ρ€ΡƒΡ‡Π½ΡƒΡŽ β€” 20 ΠΌΠΈΠ½ΡƒΡ‚ ΠΈ риск ошибки.

πŸ’¬ А Π²Ρ‹ ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Python?

ΠŸΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях, ΠΊΠ°ΠΊΠΎΠΉ способ Π²Π°ΠΌ каТСтся ΠΏΡ€ΠΎΡ‰Π΅!

πŸ“£ ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° ΠΌΠΎΠΉ ΠΊΠ°Π½Π°Π»!

Π― β€” Ρ€Π΅ΠΏΠ΅Ρ‚ΠΈΡ‚ΠΎΡ€ ΠΏΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ ΠΊ Π•Π“Π­ ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ с 15-Π»Π΅Ρ‚Π½ΠΈΠΌ стаТСм.
На ΠΌΠΎΡ‘ΠΌ ΠΊΠ°Π½Π°Π»Π΅ Π²Ρ‹ Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅:

  • Π Π°Π·Π±ΠΎΡ€ всСх Ρ‚ΠΈΠΏΠΎΠ² Π·Π°Π΄Π°Ρ‡ Π•Π“Π­ (ΠΎΡ‚ 1 Π΄ΠΎ 27)
  • Π¨ΠΏΠ°Ρ€Π³Π°Π»ΠΊΠΈ, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΊΠΎΠ΄Π°, Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ
  • Π Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π½Π° экзамСнС

πŸ‘‰ ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ β€” ΠΈ Π²Ρ‹ Ρ‚ΠΎΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π° ΠΏΠ°Ρ€Ρƒ ΠΌΠΈΠ½ΡƒΡ‚!

Π£Π΄Π°Ρ‡ΠΈ Π½Π° Π•Π“Π­! Π’Ρ‹ ΡΠΏΡ€Π°Π²ΠΈΡ‚Π΅ΡΡŒ! πŸ’ͺ

Мой ΠΊΠ°Π½Π°Π» с Ρ€Π°Π·Π±ΠΎΡ€Π°ΠΌΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ Π•Π“Π­ (ΠΏΠΎΠ΄ΠΏΠΈΡˆΠΈΡ‚Π΅ΡΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ€Π°Π·Π±ΠΎΡ€Ρ‹)
Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ ΠΊΠΎ ΠΌΠ½Π΅ Π½Π° занятия ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΡƒΡ‚
https://vk.com/nebolsink

-2