for : to + by - do [ : [ - enda [ :uinc( melse (*overflowsplit into ab and assign the middle entry to *new( )if then (*insert in left pate * : [ - ]for : - to + by - do [ : [ - enda [ :ufor : to - do [ : [ +nend else (*insert in right page *dec(rn)if then : else : [ ]for : to - do [ : [ + + endb [ - : endfor : to - do [ : [ +nend enda :nb :nb : pv : end end end end end insertprocedure underflow (capagesintegervar hboolean)(* underflow pagec ancestor pages index of deleted entry in *var bpageikintegerbegin (* ( - ( [ - *if then (* :page to the right of * : [spk :( - + div (* nof items available on page * [ - : [ ] [ - : if then (*balance by moving - items from to *for : to - do [ + : [iendc [ : [ - ] : [spc [sp :bdec( mk)for : to - do [ : [ +kenda : - +kh :false else (*merge pages and bdiscard *for : to - do [ + : [ienddec( )for : to - do [ : [ + enda : *nh : end else (* :page to the left of *dec( )if then : else : [ - end