$_{$.=$_}||do{{($_{$.+=$_}=$.+$_<=$,)&&redo}}for@.=2..($,=pop);grep!$_{$_},@.