fcn longestSequence(ns){ // based on Patience sorting piles:=L(); backPtr:='wrap(np){ return(np-1,if(np) piles[np-1].len()-1 else -1) }; // maybe (-1,-1) foreach n in (ns){ newPile:=True; // create list of sorted lists foreach e,p in (piles.enumerate()){ if(n