рд╣рд╛рд╕реНрдХреЗрд▓ рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рдирд╛ рдпрд╛ рдЙрд╕рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рдирд╛

рд╢реБрдн рджреЛрдкрд╣рд░, рдкреНрд░рд┐рдп Khabrovitesред рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рдХрдард┐рди рд╣реЛрддрд╛ рд╣реИред рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдз рд╢реБрд░реВ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдПрдХ рдирдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдХрднреА-рдХрднреА рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдпрд╣ рднрд╛рд╖рд╛ рдЙрди рд╕рднреА рд╡рд┐рдЪрд╛рд░реЛрдВ рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрддреА рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдереЗ, рдЕрдЧрд░ рдпрд╣ рджреБрдирд┐рдпрд╛ рдХреА рд╕рд╛рдорд╛рдиреНрдп рддрд╕реНрд╡реАрд░ рдХрд╛ рдЦрдВрдбрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдорд╕реНрддрд┐рд╖реНрдХ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред рдРрд╕реА рднрд╛рд╖рд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣рд╛рд╕реНрдХреЗрд▓ рд╣реИред

рдЖрдк рд╕рд┐рд░реНрдл рд╣рд╛рд╕реНрдХреЗрд▓ рдХреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ?

"рдЖрдк рд╕рднреА рдЕрдирд┐рд╡рд╛рд░реНрдп рд╢реИрд▓реА рд╕реЗ рдЦрд░рд╛рдм рд╣реЛ рдЧрдП рд╣реИрдВ!" - рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╣рдорд╛рд░реЗ рдкрд╣рд▓реЗ рд╢рд┐рдХреНрд╖рдХ рдиреЗ рдХрд╣рд╛, рдПрдХ рдЕрджреНрднреБрдд рд╡реНрдпрдХреНрддрд┐, рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдФрд░ рдЖрдпреЛрдЬрдХ рд╕рд░реНрдЧреЗрдИ рдорд┐рдЦрд╛рдЗрд▓реЛрд╡рд┐рдЪ рдЕрдмреНрд░рд╛рдореЛрд╡ред рдФрд░ рд╡рд╣ рд╕рд╣реА рдерд╛ред рдЪрд░, рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ, рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓рдирд╛ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕реЛрдЪрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЗрддрдирд╛ рдХрдард┐рди рдерд╛ред рдЖрдк рдмреИрда рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рд╛рд╕реНрдХреЗрд▓ рдореЗрдВ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдк рдПрдХ рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЪрд░ рдФрд░ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рдБ рдЖрд╕рд╛рди! рд▓реЗрдХрд┐рди рддрдм, рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рдХрд╣рддреЗ рд╣реИрдВ: тАЬрдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд┐рд╕реЗ рд╣реИ? рд╣рд╛рдВ, рдореИрдВ C рдореЗрдВ рддреЗрдЬреА рдФрд░ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦреВрдВрдЧрд╛ред тАЭ

рдФрд░ рдпрд╣ рд╕рдм рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдЕрдирд┐рд╡рд╛рд░реНрдп рд╢реИрд▓реА рдХреЛ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдЖрдк рдПрдХ рдордЫрд▓реА рдХреА рдордХреНрдЦреА рдФрд░ рдПрдХ рдкрдХреНрд╖реА рдХреЛ рддреИрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЖрдк рдПрдХ рдмрддрдЦ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреИрд░рдирд╛ рдФрд░ рдЙрдбрд╝рдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИред рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕рд┐рд░ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЖрдкрдХреЛ рд╣рдбреНрдбрд┐рдпреЛрдВ рдХреЗ рдорд╕реНрддрд┐рд╖реНрдХ рдХреЗ рд╕рд╛рде рдЙрдиреНрд╣реЗрдВ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдк рдЗрд╕ рднрд╛рд╖рд╛ рдХреЛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ рдпрд╣ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХреИрд╕реЗ, рдХреИрд╕реЗ рдХрд░реЗрдВ?

рдлреЛрд░рдкреНрд▓реЗ рдкрдврд╝реЗрдВ

рдЬрд╡рд╛рдм рдЖрд╕рд╛рди рд╣реИред рд╕рд┐рд░реНрдл рджреЛ рд╢рдмреНрджред рдлреЛрд░рдкреНрд▓реЗ рдкрдврд╝реЗрдВ! рдпрджрд┐ рдЖрдк рд╣рд╛рд╕реНрдХреЗрд▓ рдХреЛ рд╕рдордЭрдирд╛ рдФрд░ рдкреНрдпрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдк рд╢реБрджреНрдз рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╢реИрд▓реА рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдкрдврд╝реЗрдВред

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рд╕рдмрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдПрдХ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рдЬрд┐рд╕реЗ рд╣рд╛рд╕реНрдХреЗрд▓ 98 рдорд╛рдирдХ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐, рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рд╕рдВрд░реЗрдЦрд┐рдд рдФрд░ рдкрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╣рд╛рдВ рдХреБрдЫ рднреА рдЕрддрд┐рд░рдВрдЬрд┐рдд рдФрд░ рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдХреЛ рдкрдврд╝рддреЗ рд╣реБрдП, рдЖрдк рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдЬреНрдЮрд╛рди рдХрдерд╛ рдкреБрд╕реНрддрдХ рдХреЛ рдкрдврд╝рддреЗ рд╕рдордп рднрд╛рд╡рдирд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рднрд╛рд╡рдирд╛рдУрдВ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░рддреЗ рд╣реИрдВред

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдореЗрдВ рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рд╕реНрдерд╛рди рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЦрдВрдб рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛рд░реНрдп рдХрд░реЗрдВред
map :: (a -> b) -> [a] -> [b] map f [] = [] map f (x:xs) = fx : map f xs 

рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ - рд╣рдо рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВред
рдирдХреНрд╢рд╛ рдХрд╛рд░реНрдп рдХреНрдпрд╛ рд╣реИ? рдЗрдирдкреБрдЯ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реЗрдЯ рдП рд╕реЗ рд╕реЗрдЯ рдмреА рддрдХ рдХреБрдЫ рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВ, рдФрд░ рд╕реЗрдЯ рдП рд╕реЗ рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рдкрд░, рд╣рдореЗрдВ рд╕реВрдЪреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рд╕реЗрдЯ рдмреА рд╕реЗ рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╣рд╛рд╕реНрдХреЗрд▓ - рдкреИрдЯрд░реНрди рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдмреБрдирд┐рдпрд╛рджреА рддрдХрдиреАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдПрдХ рдПрдл [] (рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЦрд╛рд▓реА рд╕реВрдЪреА) рдлреЙрд░реНрдо рдХреЗ рдЗрдирдкреБрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рд╡рд╛рд▓реЗ рдорд╛рдирдЪрд┐рддреНрд░ рдПрдХ рдЦрд╛рд▓реА рд╕реВрдЪреА рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдВрдЧреЗред рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдПрдл рдХреЛ рд╕реВрдЪреА рдХреЗ рдкрд╣рд▓реЗ рддрддреНрд╡ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рддрддреНрд╡ рдХреЛ рд╕реВрдЪреА рдХреЗ рдкреВрдВрдЫ рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдмрдирд╛рдИ рдЧрдИ рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред
рд╣рд╛рд╕реНрдХреЗрд▓ рдХреЗ рдореБрдЦреНрдп рд▓рд╛рднреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдЧрдгрд┐рддреАрдп рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдорддреМрд░ рдкрд░ рдХреБрдЫ рдорд┐рдирдЯреЛрдВ рдХрд╛ рд╕рдордп рд╣реЛрддрд╛ рд╣реИред

рдХреБрдЫ рдФрд░ рдЙрджрд╛рд╣рд░рдг

рдФрд░, рдпрд╣рд╛рдБ, рдПрдХ рдФрд░ рдЪрдорддреНрдХрд╛рд░: рд╕рд┐рд░ рдФрд░ рдкреВрдВрдЫ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдареАрдХ рд╣реИ, рдмрд╕ рдЧрд▓реЗ рдореЗрдВ рдЖрдВрдЦреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рджреГрд╖реНрдЯрд┐!
 head :: [a] -> a head (x:_) = x head [] = error "Prelude.head: empty list" 

 tail :: [a] -> [a] tail (_:xs) = xs tail [] = error "Prelude.tail: empty list" 

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд╕реНрдХреЗрд▓ рдкреИрдЯрд░реНрди рдореЗрдВ рдЕрдВрдбрд░рд╕реНрдХреЛрд░ "рдХреБрдЫ рднреА" рдХреЗ рд▓рд┐рдП рдЦрдбрд╝рд╛ рд╣реИред
 null :: [a] -> Bool null [] = True null (_:_) = False 

рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕реЗ рд▓реЛрдЧ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ?

рдФрд░ рдпрд╣рд╛рдБ рд▓рдВрдмрд╛рдИ рд╕рдорд╛рд░реЛрд╣ рд╣реИред
 length :: [a] -> Int length [] = 0 length (_:l) = 1 + length l 


рдФрд░ рд╡рд░реНрдЧ Eq рдХреЛ рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдореЗрдВ рдХреИрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдЖрдк рд╣рдВрд╕реЗрдВрдЧреЗ!
 class Eq a where (==), (/=) :: a -> a -> Bool -- Minimal complete definition: -- (==) or (/=) x /= y = not (x == y) x == y = not (x /= y) 

рд╕рдЪ рдореЗрдВ рдЪрдХреНрдХрд░ рдЖрдирд╛ рд╕реМрдВрджрд░реНрдп?

рдореИрдВ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ?

рд╣рд╛рдп рдХрдИ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХрд╛ рдЖрдирдВрдж рдХреНрдпреЛрдВ рдЦрд░рд╛рдм рдХрд░реЗрдВ?
рд╕рднреА рдирд╡рд╛рдЧрдВрддреБрдХреЛрдВ рдХреЗ рд▓рд┐рдП, рдЬреЛ рдХреЛрдИ рднреА рд╣рд╛рд╕реНрдХреЗрд▓ рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдПрдХ рдЯрд┐рдк рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдХреЛ рдкрдврд╝рдирд╛ рд╣реИред рдореИрдВ рдкрдврд╝рддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВред рдХрдо рд╕реЗ рдХрдо рдореИрдВ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдХреЛ рдкрдврд╝рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рд╣рд╛рд╕реНрдХреЗрд▓ рдХреЗ рджрд░реНрд╢рди рдХреЛ рд╕рдордЭрд╛ рдФрд░ рдЙрд╕ рднрд╛рд╖рд╛ рд╕реЗ рдкреНрдпрд╛рд░ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХреА рдореИрдВ рдЖрдк рд╕рднреА рдХреЛ рдХрд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдБ!
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдЗрд╕ рднреНрд░рдо рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╢рд╛рдпрдж рдПрдХ рд▓реЗрдЦрдХ рдирд╣реАрдВ рд╣реВрдВ, рдореИрдВрдиреЗ рдмрд╣реБрдд рдЦрд░рд╛рдм рддрд░реАрдХреЗ рд╕реЗ рдХрд╣рд╛ рдХрд┐ рд╕рднреА рдХреА рдЬрд░реВрд░рдд рдереА, рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рд╛рд╕реНрдХреЗрд▓ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдкреНрдпрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдХрдо рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╕рд▓рд╛рд╣ рдереАред рдлреЛрд░рдкреНрд▓реЗ рдкрдврд╝реЗрдВ!

Source: https://habr.com/ru/post/In203690/


All Articles