o
9j? @ sp d Z d
ddddZd
ddddZd
dddd Zd
ddd
dZzddlT W n ey1 Y nw eZeZdS )zBisection algorithms. Nkeyc C > |du rt | |||}nt | |||||d}| || dS )zInsert item x in list a, and keep it sorted assuming a is sorted.
If x is already in a, insert it to the right of the rightmost x.
Optional args lo (default 0) and hi (default len(a)) bound the
slice of a to be searched.
Nr )bisect_rightinsertaxlohir r /usr/lib/python3.10/bisect.pyinsort_right s r c C s |dk rt d|du rt| }|du r1||k r/|| d }|| | k r'|}n|d }||k s|S ||k rN|| d }||| | k rF|}n|d }||k s5|S )a Return the index where to insert item x in list a, assuming a is sorted.
The return value i is such that all e in a[:i] have e <= x, and all e in
a[i:] have e > x. So if x already appears in the list, a.insert(i, x) will
insert just after the rightmost x already there.
Optional args lo (default 0) and hi (default len(a)) bound the
slice of a to be searched.
r lo must be non-negativeN
ValueErrorlenr r r
r r midr r r
r s&