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

ред рд╣рд░ рдСрдкрд░реЗрд╢рди

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордп рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

ред рдЗрд╕ рд╕рдордп рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП

рд╣рдо рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕ рд╕рдордп рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВрдЧреЗ

ред рд╣рдо рдЗрд╕ рд╕рдордп рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВ

ред рджреЛ рдкреНрд░рддрд┐рдмрдВрдз рдЗрд╕ рд╕реЗ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реИрдВ: рдП) рдФрдкрдЪрд╛рд░рд┐рдХ - рдХрд┐рд╕реА рднреА рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП

рдЕрд╕рдорд╛рдирддрд╛ рд░рдЦрддреА рд╣реИ

, рдФрд░ рдмреА) рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ - рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕ рд▓рд╛рдЧрдд рдХреА рд░рд╛рд╢рд┐ рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рдорд╛рд░реА рдЖрдВрдЦреЛрдВ рдХреЗ рд╕рд╛рдордиреЗ рдПрдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬрд┐рд╕рдХреЗ рднреАрддрд░ рд╕реНрдЯреИрдХ рдирд┐рд╣рд┐рдд рд╣реИред рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛
op(m, x)
рдСрдкрд░реЗрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ, рдЬреЛ рдЕрдВрддрд┐рдо рдХреЛ рдкреЙрдк рдХрд░рддрд╛ рд╣реИ

рддрддреНрд╡реЛрдВ рдФрд░ рдлрд┐рд░ рддрддреНрд╡ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ

ред
def op(stack, m, x): for i in range(m): stack.pop() stack.push(x)
рд╣рдо рдорд╛рди рд▓реЗрдВрдЧреЗ рдХрд┐ рддрд░реНрдХ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рд╣рдореЗрдВ рд╕реНрдЯреИрдХ рдкрд░ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдлреЗрдВрдХрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐
op(m, x)
рдореЗрдВ рд╕рдВрддреБрд╖реНрдЯ рд╣реИ

рдмрд┐рдирд╛ рдХрджрдо

-notatsiiред рд╣рдорд╛рд░реЗ рд╕рднреА рдЕрдиреБрдорд╛рдиреЛрдВ рдХреЛ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░рдВрддрд░рддрд╛ рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЯрд╛рдЗрдо рдСрдкрд░реЗрд╢рди
op(m, x)
рдПрдХ рд╕реЗ рджреВрд╕рд░реЗ рддрдХ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ

рдХрджрдоред рдПрдХ рдореЛрдЯрд╛ рдЕрдиреБрдорд╛рди рд╕рдордп рджреЗрдЧрд╛

рд╕рднреА рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

рд╕рдВрдЪрд╛рд▓рдиред
рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рддреАрди рдореВрд▓реНрдпрд╛рдВрдХрди рд╡рд┐рдзрд┐рдпрд╛рдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдмреИрдВрдХрд░ рдХреА рд╡рд┐рдзрд┐ред рд╕рдордп рдкреИрд╕рд╛ рд╣реИ
рд╕рдордп рдХреА рд╣рд░ рдЗрдХрд╛рдИ рдХреЛ рдПрдХ рд╕рд┐рдХреНрдХрд╛ рд╣реЛрдиреЗ рджреЗрдВред рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рджреЗрддреЗ рд╣реИрдВ

рд╕рд┐рдХреНрдХреЗ рдФрд░ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐

ред рдЙрдирдХреЗ рд╕рднреА рдСрдкрд░реЗрд╢рди рдХреЗ рд╕рд┐рдХреНрдХреЗ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд░рдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдСрдкрд░реЗрд╢рди рдХреА рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕ рд▓рд╛рдЧрдд рд╣реЛрдЧреА

ред
рд╕рд╣рд╛рдпрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

, рд╣рдо рдПрдХ рдкреНрд░рддрд┐рдмрдВрдз рд╕реЗрдЯ рдХрд░реЗрдВрдЧреЗ: рдЖрдк рдЗрд╕ рд╕рдордп рдЕрдзрд┐рдХ рд╕рд┐рдХреНрдХреЗ рдЦрд░реНрдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

ред рдЬреИрд╕реЗ

рддреЛ

ред
рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдХреЛ рдПрдХ рд╕рд┐рдХреНрдХрд╛ рджреЗрдВрдЧреЗ (

)ред рдЗрд╕реЗ рдЙрд╕ рдЖрдЗрдЯрдо рдкрд░ рд░рдЦреЗрдВ рдЬреЛ рдХреЗрд╡рд▓ рд╕реНрдЯреИрдХ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдордиреЗ рдЗрд╕ рдЖрдЗрдЯрдо рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рдкреАрдУрдкреА рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕реНрдЯреИрдХ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдкрд░ рдХрд┐рд╕реА рднреА рд╕рдордп рдПрдХ рд╕рд┐рдХреНрдХрд╛ рдирд┐рд╣рд┐рдд рд╣реИ, рдЕрд░реНрдерд╛рддред рд╕рднреА POP рдкреНрд░реАрдкреЗрдб рд╣реИрдВред
рдмрд╛рд╣рд░ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП

рддрддреНрд╡ рд╣рдо рдЙрди рд╕рднреА рд╕рд┐рдХреНрдХреЛрдВ рдХреЛ рдЦрд░реНрдЪ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдЙрди рдкрд░ рдЭреВрда рдмреЛрд▓рддреЗ рд╣реИрдВ (

)ред рдлрд┐рд░ рдкреНрд░рддреНрдпреЗрдХ рд▓реЗрдирджреЗрди рдХреА рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕ рд▓рд╛рдЧрдд

ред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдирд╛ рдмрд╛рдХреА рд╣реИ

ред рд╣рдореЗрдВ рд╢реАрд░реНрд╖ рд░реИрдЦрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдорд╛рди рдорд┐рд▓рд╛

рд╕рдВрдЪрд╛рд▓рдиред
рднреМрддрд┐рдХрд╡рд┐рджреН рд╡рд┐рдзрд┐ред рдЕрдкрдиреА рдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдХреЛрдИ рднреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрдИ рд╕рдВрднрд╛рд╡рд┐рдд рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рд▓реЗ рд╕рдХрддреА рд╣реИред рдЪрд▓реЛ

рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдерд┐рддрд┐ рд╣реИ, рдФрд░

- рд╣рд╛рд▓рдд рдХреЗ рдмрд╛рдж

рд╡реЗрдВ рдСрдкрд░реЗрд╢рдиред рд╣рдо рд╕рдВрднрд╛рд╡рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВ

, рдЬреЛ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЛ рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдЧреИрд░-рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рджреЗрддрд╛ рд╣реИред рд╕рдВрднрд╛рд╡рд┐рдд

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрд╡рд╕реНрдерд╛ рд╢реВрдиреНрдп рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рд░реВрдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ

рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ

, рдФрд░

рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ

ред рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕ рд▓рд╛рдЧрдд

ред
рдЕрдЪрд▓

рдХреНрд╖рдорддрд╛ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ,

; рд╕рдм

рдкрд╣рд▓реЗ рдФрд░ рдЖрдЦрд┐рд░реА рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдХрдо рд╣реЛ рдЧрдП рд╣реИрдВ рдФрд░

ред рдЬреИрд╕реЗ

рддреЛ

ред
рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд╖рдорддрд╛ рдХреЗ рдРрд╕реЗ рдХрд╛рд░реНрдп рдХреЛ рдЦреЛрдЬрд╛ рдЬрд╛рдП рдЬреЛ рдорд╣рдВрдЧреЗ рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдкрд░ рдирд╛рдЯрдХреАрдп рд░реВрдк рд╕реЗ рдШрдЯреЗ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐ рд╣реЛ, рдФрд░ рд╕рд╕реНрддреЗ рд▓реЛрдЧреЛрдВ рдкрд░ рдереЛрдбрд╝рд╛ рдмрдврд╝реЗред рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдвреЗрд░ рдкрд░ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЙрдкрдпреБрдХреНрдд рд╣реИред рдХреЗ рдмрд╛рдж
POP
рдФрд░ рдПрдХ
PUSH

ред рдлрд┐рд░ рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕ рд▓рд╛рдЧрдд

, рдФрд░ рдлрд┐рд░ рд╕реЗ рд╣рдо рдПрдХ рд░реИрдЦрд┐рдХ рдЕрдиреБрдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред
рдПрдХрддреНрд░реАрдХрд░рдг рд╡рд┐рдзрд┐ред рдЖрдкрдХреЛ рд╕рдм рдХреБрдЫ рд▓реЗрдиреЗ рдФрд░ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдпрд╣ рд╡рд┐рдзрд┐ рджреЛ рдкрд┐рдЫрд▓реЗ рд╡рд╛рд▓реЗ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рд╣реИ, рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рдЧрдгрдирд╛ рдХрд░рдирд╛ рд╣реИ

рдФрд░ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВред
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рддрд░реНрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ
op(m, x)
рдСрдкрд░реЗрд╢рди рдПрдХ PUSH рдФрд░ рдХрдИ POP рдХрд░рддрд╛ рд╣реИред рдЖрдк рд╕реНрдЯреИрдХ рд╕реЗ рдЕрдзрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЛ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдвреЗрд░ рдкрд░ рд░рдЦреЛ

рддрддреНрд╡реЛрдВ, рдХреЛрдИ рдФрд░ рдЕрдзрд┐рдХ рдлреЗрдВрдХ

ред рддреЛ рдХреБрд▓ рд╕рдордп рд╣реИ

ред рдПрдХ рдСрдкрд░реЗрд╢рди рдХреА рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕ рд▓рд╛рдЧрдд

ред
рд╕реЗрдЯ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЕрд╕реНрд╡реАрдХреГрдд рдХрд░реЗрдВ
рдЙрдиреНрд╣реЛрдВрдиреЗ рд╣рдореЗрдВ рджрд┐рдпрд╛

рддрддреНрд╡реЛрдВред рддрддреНрд╡реЛрдВ рдХреЛ рд╕реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдПрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рддреАрди рдСрдкрд░реЗрд╢рдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ
make_set(key)
- рдПрдХ рддрддреНрд╡ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдмрдирд╛рддрд╛ рд╣реИ,union(A, B)
- рд╕реЗрдЯ A
рдФрд░ B
рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИ,find(x)
- рд╡рд╣ рд╕реЗрдЯ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рддрддреНрд╡ рдирд┐рд╣рд┐рдд рд╣реИ
ред
рдЗрди рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдбрд┐рд╕рдСрдЗрдВрдЯ рд╕реЗрдЯ рд╕рд┐рд╕реНрдЯрдо (рдПрд╕рдПрдирдПрдо) (рдбрд┐рд╕рдСрдЗрдВрдЯ-рд╕реЗрдЯ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░, рдпреВрдирд┐рдпрди-рдлрд╛рдЗрдВрдб рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдпрд╛ рдорд░реНрдЬ-рдлрд╛рдЗ рд╕реЗрдЯ) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрд╕рдПрдирдПрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдФрд░ рдЗрд╕рдХреЗ рдЖрд╡реЗрджрди рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг
рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ ред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЛ рдпрд╛рдж рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо
рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдЯ рд╣рдо рдПрдХ рдкреЗрдбрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░реЗрдВрдЧреЗред рдЯреНрд░реА рдиреЛрдб рдЕрднрд┐рднрд╛рд╡рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдиреЛрдб рдореВрд▓ рд╣реИ, рддреЛ рд▓рд┐рдВрдХ
None
рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд
rank
рдлрд╝реАрд▓реНрдб рд╣реЛрдЧрд╛ред рд╣рдо рдиреАрдЪреЗ рдЗрд╕рдХреА рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред
class Node: def __init__(self, key): self.parent = None self.rank = 0 self.key = key
рд╕реЗрдЯ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдЪреБрдиреЗрдВрдЧреЗред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдкреЗрдбрд╝ рдХреА рдЬрдбрд╝ рд╣реЛрдЧреАред рдпрджрд┐ рджреЛ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдирд┐рдзрд┐ рд╕рдорд╛рди рд╣реИ, рддреЛ рд╡реЗ рдПрдХ рд╣реА рд╕реЗрдЯ рдореЗрдВ рдЭреВрда рдмреЛрд▓рддреЗ рд╣реИрдВред рджреЛ рд╕реЗрдЯреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдкреЗрдбрд╝ рдХреЛ рджреВрд╕рд░реЗ рдХреА рдЬрдбрд╝ рддрдХ рдирд┐рд▓рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдПрдХ рд╕рд░рд▓ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
def find(x): if x.parent == None: return x return find(x.parent) def union(x, y): x = find(x) y = find(y) y.parent = x return x
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рджреЛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЧреНрд░реЗрдб ред рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЛ рдПрдХ рд░реИрдВрдХ рд╕реМрдВрдкрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рд╢реБрд░реВ рдореЗрдВ рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рд╡реГрдХреНрд╖ рдХреА рд╢реНрд░реЗрдгреА рдЙрд╕рдХреА рдЬрдбрд╝ рдХреА рд╢реНрд░реЗрдгреА рд╣реИред рд╕реЗрдЯреНрд╕ рдХрд╛ рд╕рдВрдпреЛрдЬрди рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдирд┐рдЪрд▓реЗ рд░реИрдВрдХ рдХреЗ рдПрдХ рдкреЗрдбрд╝ рдХреЛ рдПрдХ рдмрдбрд╝реЗ рдкреЗрдбрд╝ рдХреЗ рдкреЗрдбрд╝ рдкрд░ рд▓рдЯрдХрд╛ рджреЗрдВрдЧреЗред рдпрджрд┐ рд░реИрдВрдХреНрд╕ рдореИрдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ рдкреЗрдбрд╝реЛрдВ рдХреА рдПрдХ-рдПрдХ рдХрд░рдХреЗ рд░реИрдВрдХ рдмрдврд╝рд╛рдПрдВред
def union(x, y): x = find(x) y = find(y) if x.rank < y.rank: x, y = y, x if x.rank == y.rank: x.rank += 1 y.parent = x return x
рдЕрдХреЗрд▓реЗ рдПрд╕рдПрдирдПрдо рдХреЗ рдХрд╛рдо рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд░реИрдВрдХ рдХреЗ рдЖрдВрдХрдбрд╝реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдВрдЧреЗ

рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдПред рд▓реЗрдХрд┐рди рд╣рдо рдФрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗред
рдкрде рд╕рдВрдкреАрдбрд╝рди рдЖрдЗрдП рд╣рдо рдПрдХ рддрддреНрд╡ рд╕реЗ
find

ред рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд░рд╛рд╕реНрддреЗ рд╕реЗ рд╕рднреА рдЪреЛрдЯрд┐рдпреЛрдВ

рд░реВрдЯ рдХреЛ рддреБрд░рдВрдд рд░реВрдЯ рдкрд░ рдирд┐рд▓рдВрдмрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

def find(x): if x.parent == None: return x x.parent = find(x.parent) return x.parent
рд╣реИрд░рд╛рдиреА рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рде рдЗрди рджреЛ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдиреЗ рдПрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕ рд╕рдордп рдХреЛ рд▓рдЧрднрдЧ рд╕реНрдерд┐рд░ рдХрд░ рджрд┐рдпрд╛ рд╣реИред
рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
1973 рдореЗрдВ, рд╣реЛрдкрдХреНрд░реЙрдлреНрдЯ рдФрд░ рдЙрд▓реЗрдорди рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдПрдХ рдПрд╕рдПрдирдПрдо рдЬрд┐рд╕рдореЗрдВ рджреЛ рд╣реЗрд░рд╛рд╕реНрдЯрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ

рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрд╛рд▓рди

рдЬрд╣рд╛рдБ

- рдкреБрдирд░рд╛рд╡реГрддрд┐ рд▓рдШреБрдЧрдгрдХред рдмрд╛рдж рдореЗрдВ, 1975 рдореЗрдВ, рдЯрд╛рд░реНрдЬрди рдиреЗ рдЦреБрд▓рд╛рд╕рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдПрд╕рдПрдирдПрдо рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рдЬрд╣рд╛рдБ

рдПрдХрд░рдореИрди рдХрд╛ рд╡рд┐рд▓реЛрдо рдХрд╛рд░реНрдп рд╣реИред
рдореЗрд░реА рдпреЛрдЬрдирд╛ рдкрд╣рд▓реЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реИ рдХрд┐ рдпреЗ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рдХреНрдпрд╛ рд╣реИрдВ, рдлрд┐рд░ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рд▓рдШреБрдЧрдгрдХ рдЕрдиреБрдорд╛рди рд╕рд╛рдмрд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЕрдВрдд рдореЗрдВ рд╣реЙрдкрдХреНрд░реЙрдлреНрдЯ рдФрд░ рдЙрд▓реЗрдорди рдЕрдиреБрдорд╛рди рдХреЛ рдмрд╛рд╣рд░ рдХрд░реЗрдВред рдЯрд╛рд░рдЬрди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдореВрд▓реНрдпрд╣реНрд░рд╛рд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рд╡реНрдпрд╛рдкрдХ рдЙрдкрдпреЛрдЧ рднреА рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдЕрдзрд┐рдХ рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдЯреНрд░рд┐рдХреА рдлреАрдЪрд░реНрд╕
рдкреБрдирд░рд╛рд╡реГрддреНрдд рд▓рдШреБрдЧрдгрдХ рдкрд╛рд╡рд░ рдЯреЙрд╡рд░ рдХрд╛ рд╡рд┐рд▓реЛрдо рд╣реИред рдПрдХ рдирдВрдмрд░ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рддреЗ рд╣реИрдВ

рдЬрд╣рд╛рдВ рдХреЗрд╡рд▓ рджреЛ рд╣реЛрдВрдЧреЗ

ред рддреЛ

рдиреНрдпреВрдирддрдо рдРрд╕рд╛ рд╣реИ

рдЙрд╕ рдмрд┐рдЬрд▓реА рдЯреЙрд╡рд░ рдХреА рдКрдВрдЪрд╛рдИ

рдФрд░ рд╣реЛрдЧрд╛

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

рдпрд╣ рдПрдХ рдкрд╛рд╡рд░ рдЯреЙрд╡рд░ рд╣реИред рдкрд░

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

рдиреНрдпреВрдирддрдо рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛

рдРрд╕рд╛ рд╣реИ

ред рдпрд╣ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдзреАрд░реЗ-рдзреАрд░реЗ рдмрдврд╝рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рд╕реНрдХреЛрд░
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ
union
рджреЛ
find
рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдордп рд╕реНрдерд┐рд░ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреЗрд╡рд▓
find
рд▓рд┐рдП рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрдорд╛рди рджреЛ рд╕рд░рд▓ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рд╣реИред
рдЕрд╡рд▓реЛрдХрди рез ред рд░реИрдВрдХ рдХрд╛ рдкреЗрдбрд╝

рдХрдо рд╕реЗ рдХрдо рд╢рд╛рдорд┐рд▓ рд╣реИ

рдиреЛрдбреНрд╕ред
рдпрд╣ рдХрдерди рдкреНрд░реЗрд░рдг рджреНрд╡рд╛рд░рд╛ рд╕рд┐рджреНрдз рд╣реЛрддрд╛ рд╣реИред рд░реИрдВрдХ 0 рдХреЗ рдПрдХ рдкреЗрдбрд╝ рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╣рд┐рд░ рд╣реИред рдПрдХ рд░реИрдВрдХ рдкреЗрдбрд╝ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП

рджреЛ рд░реИрдВрдХ рдкреЗрдбрд╝ рдЧрдардмрдВрдзрди рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ

, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо

рдиреЛрдбреНрд╕ред рддреЛ рд░реИрдВрдХ рдЯреНрд░реА рдореЗрдВ

рдХрдо рд╕реЗ рдХрдо

рдиреЛрдбреНрд╕ред
рдирддреАрдЬрддрди, рдХрд┐рд╕реА рднреА рд╕рдордп, рд░реИрдВрдХ рдХреЗ рдиреЛрдбреНрд╕

рдЕрдм рдФрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛

, рдФрд░ рдЕрдзрд┐рдХрддрдо рдиреЛрдб рд░реИрдВрдХ

ред
рдЯрд┐рдкреНрдкрдгреА 2 ред рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреА рд░реИрдВрдХ рд╣рдореЗрд╢рд╛ рдмрдЪреНрдЪреЗ рдХреА рд░реИрдВрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрддреА рд╣реИред
рдпрд╣ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИред рдЪреВрдВрдХрд┐ рд░реИрдВрдХ рд╣рдореЗрд╢рд╛ рдКрдкрд░ рд╕реЗ рдЬрдбрд╝ рддрдХ рдХреЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдмрдврд╝рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреА рд▓рдВрдмрд╛рдИ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ

, рдФрд░ рдХрд┐рд╕реА рднреА
find
рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

ред
рд╣реЙрдкрдХреНрд░реЙрдлреНрдЯ рдФрд░ рдЙрд▓рдореИрди рд╕реНрдХреЛрд░
рдЖрдЗрдП рд╣рдо рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рддреЗ рд╣реИрдВ

рдПрд╕рдПрдирдПрдо рдХрд╛ рд╕рдВрдЪрд╛рд▓рди

рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

ред
make_set
рдСрдкрд░реЗрд╢рди
make_set
рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

ред
union
рд╕рдВрдЪрд╛рд▓рди - рдХреЗ рд▓рд┐рдП

рдкреНрд▓рд╕ рджреЛ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рд╕рдордпред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ
find
рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛

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

рд╕реЗрдЯ:

ред

-рдЗрд╕ рд╕реЗрдЯ рдореЗрдВ рдкрд╛рд╡рд░ рдЯрд╛рд╡рд░ рд╕реЗ рд╕рднреА рд░реИрдВрдХ рд╣реЛрдВрдЧреЗ

рдКрдВрдЪрд╛рдИ

to рдЯрд╛рд╡рд░ рд╣рд╛рдЗрдЯреНрд╕

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

ред рдЗрд╕рд▓рд┐рдП, рдХрд┐рд╕реА рднреА рдиреЛрдб рд╕реЗ рд░реВрдЯ рддрдХ рдХреЗ рдкрде рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ

рдЕрдЪреНрдЫрд╛ рдЧрд╛рдБрдаред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдХреЛрдИ рдФрд░ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛

рдЕрдЪреНрдЫрд╛ рдЧрд╛рдБрдаред
рдЦрд░рд╛рдм рдиреЛрдбреНрд╕ рдкрд░ рдкрд╛рд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдПрдВред рдмреБрд░реА рдЧрд╛рдБрда рд▓рдЧрдиреЗ рджреЛ

рдПрдХ рд░реИрдВрдХ рд╣реИ

, рдФрд░

рдХрдИ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрддрд╛ рд╣реИ

ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдХ рдмреБрд░рд╛ рдиреЛрдб рдореВрд▓ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреА рд░реИрдВрдХ рддрдп рдХреА рдЧрдИ рд╣реИред рдЕрдЧрд░
find
рдПрдХ рдиреЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ

рддреЛ

рдПрдХ рдЙрдЪреНрдЪ рдкрдж рдХреЗ рд╕рд╛рде рдПрдХ рдирдП рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдорд╛рддрд╛ рдкрд┐рддрд╛ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ

рдЧреБрдЬрд░рддрд╛ рд╣реИ

рдПрдХ рдмреБрд░реА рдЧрд╛рдБрда рдХреА рддрд░рд╣

рдЕрдЪреНрдЫрд╛ рдмрди рдЬрд╛рдПрдЧрд╛ред
рдХреБрд▓ рд░реИрдВрдХ рдиреЛрдбреНрд╕

рдЕрдм рдФрд░ рдирд╣реАрдВ

ред рддреЛ рд╕реЗрдЯ рд╕реЗ рд░реИрдВрдХ рдХреЗ рд╕рд╛рде рдиреЛрдбреНрд╕

рдЕрдм рдФрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛

ред рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП, рдЕрдзрд┐рдХ рдирд╣реАрдВ

рдорд╛рд░реНрдЧ, рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рдмреБрд░реА рдЧрд╛рдБрда рдореЗрдВред рддреЛ рдкрд╛рд╕ рд╣реЛрдиреЗ рдХреЗ рдпреЛрдЧ рдореЗрдВ рдФрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛

ред рдХреБрд▓ рд╕реНрддрд░

ред рддреЛ, рдЦрд░рд╛рдм рдиреЛрдбреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдзрд┐рдХ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ

ред
рдЯреЛрдЯрд▓ рдХреЛ рдЯреЙрдк рд░реЗрдЯрд┐рдВрдЧ рдорд┐рд▓реА

рдХреБрд▓ рдореЗрдВ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдПред
рд╕рд╛рд╣рд┐рддреНрдп
- рдХреЙрд░реНрдореЗрди, рд▓рд┐рд╕реЗрд░реНрд╕рди, рд░рд┐рд╡реЗрд╕реНрдЯ "рдПрд▓реНрдЧреЛрд░рд┐рджрдо: рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг"
- рдЯрд╛рд░рдЬрди "рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдПрдВ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо"
- рд░реЗрдмреЗрдХрд╛ рдлрд╝рд┐рдПрдмреНрд░рд┐рдВрдХ "рдЕрдореВрд░реНрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рдордЭрд╛рдпрд╛"