averagexyifgexyxyiftruexyaverIteryxyiffalsexyaverIterxyxaverIterxyzifItergexyxyzifItertruexyzzifIterfalsexyzaverIterplusxsss0plusys0pluszs0appendnilyyappendconsnxyconsnappxylownnilnillownconsmxif_lowgemnnconsmxif_lowfalsenconsmxconsmlownxif_lowtruenconsmxlownxhighnnilnilhighnconsmxif_highgemnnconsmxif_highfalsenconsmxhighnxif_hightruenconsmxconsaveragemmhighnxquicksortxifquickisemptyxxifquicktruexnilifquickfalsexappendquicksortlowheadxtailxconstailxquicksorthighheadxtailxplus0yyplussxysplusxyisemptyniltrueisemptyconsnxfalseheadnilerrorheadconsnxntailnilniltailconsnxxgex0truege0syfalsegesxsygexyabacaveragexygexyaveragexyifgexyxyiftruexyaverIteryxyiffalsexyaverIterxyxaverIterxyzgexyaverIterxyzifItergexyxyzifIterfalsexyzpluszs0ifIterfalsexyzplusys0ifIterfalsexyzplusxsss0ifIterfalsexyzaverIterplusxsss0plusys0pluszs0lownconsmxgemnlownconsmxif_lowgemnnconsmxif_lowfalsenconsmxlownxif_lowtruenconsmxlownxhighnconsmxgemnhighnconsmxif_highgemnnconsmxif_highfalsenconsmxhighnxif_hightruenconsmxhighnxif_hightruenconsmxaveragemmquicksortxisemptyxquicksortxifquickisemptyxxifquickfalsexhighheadxtailxifquickfalsexquicksorthighheadxtailxifquickfalsextailxifquickfalsexheadxifquickfalsexlowheadxtailxifquickfalsexquicksortlowheadxtailxifquickfalsexappendquicksortlowheadxtailxconstailxquicksorthighheadxtailxplussxyplusxygesxsygexytrueifquickfalsexquicksorthighheadxtailxquicksortxifquickisemptyxxifquickfalsexquicksortlowheadxtailxtrueifquickfalsexappendquicksortlowheadxtailxconstailxquicksorthighheadxtailxfalseifquickfalsexlowheadxtailxfalselownconsmxif_lowgemnnconsmxif_lowfalsenconsmxlownxif_lowtruenconsmxlownxtruelow22if_low33lownconsmxif_lowgemnnconsmxlownconsmxif_lowgemnnconsmxfalselownconsmxgemnfalseifquickfalsexhighheadxtailxfalsehighnconsmxif_highgemnnconsmxif_highfalsenconsmxhighnxif_hightruenconsmxhighnxtruehigh22if_high33highnconsmxif_highgemnnconsmxhighnconsmxif_highgemnnconsmxfalseif_hightruenconsmxaveragemmfalseaveragexyifgexyxyfalseiffalsexyaverIterxyxfalseiftruexyaverIteryxyfalseaverIterxyzifItergexyxyzifIterfalsexyzaverIterplusxsss0plusys0pluszs0trueifIterfalsexyzplusxsss0falseifIterfalsexyzplusys0falseifIterfalsexyzpluszs0falseplussxyplusxytrueplus21averIterxyzgexyfalseaveragexygexyfalsehighnconsmxgemnfalsegesxsygexytruege22quicksortxisemptyxfalseifquickfalsextailxfalseifquickfalsexheadxfalse