рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХрд╛рд░реНрдЯрд┐рд╕рд┐рдпрди рдЯреНрд░реА рдирд┐рд╣рд┐рдд рдХреБрдВрдЬреА рд╕реЗ рдХреНрдпрд╛ рд╣реИ (рдпрд╣ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЗрдЦ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ, рдЗрд╕рд▓рд┐рдП
рдпрд╣рд╛рдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рдирд╛ рдмреЗрд╣рддрд░
рд╣реИ )ред рд╕реНрдкреЗрд╕ рдХрдореНрдкреНрд░реЗрд╢рди рдПрдХ рдРрд╕реА рд╡рд┐рдзрд┐ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдкрд░ рд╕реЗрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЗрдЯ {1, 1, 1, 2, 2, 2, 3, 1, 1} рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо {1 x 3, 2 x 3, 3 x 1, 1 x 2} рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВрдЧреЗред
рдЕрдм рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рдХрд┐рд╕реА рднреА рд╕реЗрдЧрдореЗрдВрдЯ рдХреЗ рд╕рд╛рде рдСрдирд▓рд╛рдЗрди рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВред
рдореИрдВ рдРрд╕реЗ рдкреЗрдбрд╝реЛрдВ рдХреЛ рддреБрд░рдВрдд рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрддрд╛ рд╣реВрдБ
struct treap_node { int x, y; treap_node *l, *r, *p; int width; int val;
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдкреЗрдбрд╝реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рд╣рдорд╛рд░реА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдЪреМрдбрд╝рд╛рдИ рдХреА рд╕рдВрдкрддреНрддрд┐ рджрд┐рдЦрд╛рдИ рджреА - рд╣рдорд╛рд░реЗ рд╡рд░реНрддрдорд╛рди рд╢реАрд░реНрд╖ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдЦрдВрдб рдХреА рдЪреМрдбрд╝рд╛рдИред рдФрд░ рд╡реИрд▓ рдХрд╛ рдорддрд▓рдм рд╣реА рд╣реЛрддрд╛ рд╣реИред
рдПрдХ рдФрд░ рдмрдбрд╝рд╛ рдмрджрд▓рд╛рд╡ - рд╕реНрдкреНрд▓рд┐рдЯ рдлрдВрдХреНрд╢рди
else {
рдпрд╣рд╛рдБ рдЕрдЧрд░ рдХрд╛ рдПрдХ рдФрд░ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдЬреЛ рдЦрдВрдб рдХреЗ 2 рдЙрдк-рдЦрдВрдбреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рдлрд┐рд░ рдмрд╛рдИрдВ рдФрд░ рджрд╛рдИрдВ рдУрд░ gluingред
рд╣рдо рдорд░реНрдЬ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд╣реАрдВ рдмрджрд▓реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЬрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд╡рд╣ рд╕реНрдкрд░реНрд╢реЛрдиреНрдореБрдЦ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдЗрд╕ рддрд░рд╣ рдореИрдВ рдЕрдВрддрд░рд┐рдХреНрд╖ рд╕рдВрдкреАрдбрд╝рди рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдСрдирд▓рд╛рдЗрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд╕рдХрддрд╛ рд╣реВрдВред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рджреЛ рдЦрдВрдбреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдорд░реНрдЬрд┐рде рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдирд┐рд╢реНрдЪрд┐рдд рдЦрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛, рдФрд░ рдлрд┐рд░ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреАрдиреЛ рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦрдВрдбреЛрдВ рдХреЗ рд╡реГрдХреНрд╖ рдореЗрдВ, рдореИрдВ, рд╕рдорд╛рди рд╡рд┐рд╖рдордХреЛрдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдкреНрд░рдмрдВрдзрди рдХрд░реЗрдВред рд╕рдЪ рд╣реИ, рдЖрдкрдХреЛ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдкреЗрдбрд╝реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рд▓рд┐рдЦрдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рддреЗрдЬрд╝ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред