precedence climbing