let rec nb_chang = function
  lr -> if is_empty_list (lr)
          then 0
          else
            if is_empty_list (tail (lr))
              then 0
              else
                if eq_rat (head (lr), cons_rat ("0""1"))
                  then nb_chang (tail (lr))
                  else
                    if eq_rat (head (tail (lr)), cons_rat ("0""1"))
                      then nb_chang (cons_list (head (lr), tail (tail (lr))))
                      else
                        if gt_rat (mult_rat (head (lr), head (tail (lr))), cons_rat ("0""1"))
                          then nb_chang (tail (lr))
                          else 1 + nb_chang (tail (lr))